web-dev-qa-db-fra.com

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

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

Je souhaite connaître la distance entre ces coordonnées et ma position actuelle.

La classe Location a une méthode simple pour trouver la distance entre deux objets Location. J'ai donc pensé créer un objet Location avec les coordonnées, puis appeler la méthode.

Y a-t-il un moyen facile de faire ceci? En outre, s’il existe une autre équation fiable et assez simple qui n’encombrera pas trop les choses, elle fonctionnera également. Merci.

(Android.location.Location)

119
fonduman

En supposant que vous ayez déjà un objet de localisation avec votre position actuelle.

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);
277
Androiderson

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

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

Je réponds encore parce que beaucoup de gens comme moi ne savent pas ce que "providername" est réellement. 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" a fournisseur.

11
Vijay E