Question

GeoPoint point = new GeoPoint(
       (int) (userlocation.getLatitude() * 1E6),
       (int) (userlocation.getLongitude() * 1E6));

Je crée le point geo comme ci-dessus mais pas à l'emplacement exact de l'utilisateur il est près de 500 à 600 mètres

Ici userlocation est l'emplacement que je reçois de l'emplacement d'écoute

Dans l'emplacement de l'utilisateur que je reçois quelque chose comme des valeurs 18,453225455645 & 78,15446456546 Mais tout en traçant je peux utiliser seulement 18.453225 78.154464 & dire - seulement six chiffres après la virgule. si je tente d'utiliser des valeurs marqueurs supplémentaires montre mauvais endroit. (Il est dû à Geopoint a besoin de valeurs en int)

Comment puis-je tracer l'emplacement exact sur la carte ??

Modifié: - Je ne pense pas que quelqu'un a une solution à ce sujet. J'ai vérifié quelques applications et obtenez une application appelée myTaxi qui a une plus grande précision que Google ne carte savent pas comment ils obtiennent cela. Actuellement, je suis juste Arrondi latitude et longitude.

Merci

Était-ce utile?

La solution

a. Juste en supprimant le dernier quelques chiffres après six chiffres ne vous donnera pas une erreur de 500-600 m comme 5 chiffres après décimales devraient vous donner une précision d'environ 1 m.

b. Utilisez-vous GPS ou d'un autre fournisseur d'emplacement? Utilisez GPS uniquement comme emplacement fournisseur si vous souhaitez une localisation précise. Il y a un hic cependant GPS aurait besoin d'une ligne de vue fonctionne correctement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top