7
votes

Distance entre les géopoints

J'ai un problème de calcul de la distance entre deux géopoints.

Les géopoints sont les suivants: xxx

et l'autre xxx

puis je crée deux emplacements: xxx

et je calculille la distance: xxx

et je autour de celui-ci: xxx

mais j'ai des résultats comme:

1.4331783e7

Qu'est-ce que je fais mal?


3 commentaires

Consultez ce lien codecodex.com/wiki/...


Pourquoi vous pensez 1.4331783E7 est faux?


Parce que la distance devrait être en mètres et le point que je mets et que je tape est maximum de 100 mètres donc je pense que ce n'est pas le résultat dont j'ai besoin!


3 Réponses :


10
votes

essayez de suivre ma méthode, xxx


0 commentaires

0
votes

Vous êtes défini la valeur géopoind dans l'objet Emplacement au lieu de double valeur Essayez de définir une double valeur de latitude et de longitude xxx pré>

Maintenant, obtenez l'emplacement P>

float distance = loc.distanceTo(loc2);


2 commentaires

Je ne peux pas définir les deux valeurs comme des nombres purs, car le premier géopoint est produit en fonction du lieu de la carte des robinets d'utilisateur.


Tout ce que je viens de donner l'exemple en passant la valeur en double format, vous pouvez transmettre la valeur géopoing en les divisant à l'aide de la valeur 1E6 comme LOC.SetLatitude (position1.getLatitudee6 () / 1e6) et une autre chose est que vous n'avez pas réglé le Valeur Lat / LNG pour l'objet LOC2 Vous pouvez simplement modifier la valeur locale.



1
votes

Vous prenez une mauvaise latitude et des longitudes, veuillez remplacer les lignes suivantes

Location loc = new Location("");                                

loc.setLatitude(position1.getLatitudeE6()/1E6);

loc.setLongitude(position1.getLongitudeE6()/1E6);

Location loc2 = new Location("");                               

loc.setLatitude(position2.getLatitudeE6()/1E6);

loc.setLongitude(position2.getLongitudeE6()/1E6);


0 commentaires