153 votes

Création d'un objet Location dans Android avec des valeurs de latitude et de longitude

J'ai un programme dans lequel les valeurs de latitude et de longitude d'un lieu sont stockées dans une base de données, que je télécharge.

Je veux obtenir la distance entre ces coordonnées et ma position actuelle.

La classe Location dispose d'une méthode simple pour trouver la distance entre deux objets Location. Je me suis donc dit que j'allais créer un objet Location avec les coordonnées, puis appeler la méthode.

Existe-t-il un moyen simple de le faire ? Par ailleurs, s'il existe une autre équation fiable, assez simple et qui n'encombre pas trop le système, cela fonctionnerait également. Merci.

(Android.location.Location)

342voto

Exception Al Points 3432

En supposant que vous avez déjà un objet de localisation avec votre emplacement actuel.

Location targetLocation = new Location("");//provider name is unnecessary
targetLocation.setLatitude(0.0d);//your coords of course
targetLocation.setLongitude(0.0d);

float distanceInMeters =  targetLocation.distanceTo(myLocation);

31voto

dst Points 2071

Vous pouvez créer des emplacements en utilisant leur constructeur puis définir les valeurs de latitude et de longitude.

final Location location = new Location("yourprovidername");
location.setLatitude(1.2345d);
location.setLongitude(1.2345d);

15voto

Vijay E Points 251

Je réponds à nouveau à cette question, parce que beaucoup de gens comme moi ne savent pas ce que "providername" est en réalité. Le code ci-dessous répond à la question :

Location location = new Location(LocationManager.GPS_PROVIDER);
location.setLatitude(23.5678);
location.setLongitude(34.456);

Ici, j'utilise LocationManager.GPS_PROVIDER comme nom du fournisseur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X