web-dev-qa-db-fra.com

Afficher l’emplacement actuel, les lieux proches et l’itinéraire entre deux lieux à l’aide de l’API Google Maps dans Android

J'ai besoin de développer une application en utilisant Google Maps in Android pour localiser mon emplacement actuel et vous devez trouver le plus proche emplacement .

(Par exemple: poste de police à proximité de mon emplacement actuel.)

Il devrait accepter mon emplacement actuel et la sortie devrait afficher le lieu le plus proche.

Quelqu'un peut-il m'aider à donner des suggestions, des liens, un tutoriel pour le faire?

50
agiles
  1. Commencez par ce tutoriel pour vous familiariser avec Android Google Maps et ce pour API 2.

  2. Pour connaître l’emplacement actuel de l’appareil, voir cette réponse ou this ne autre réponse et pour API 2

  3. Ensuite, vous pouvez obtenir des lieux à proximité de votre position à l’aide de API Google Place et pour utiliser Place Api, consultez ce blog .

  4. Après avoir obtenu des repères d’emplacement proche, utilisez ce blog avec le code source pour afficher les marqueurs sur la carte avec superposition de bulles avec API 2.

  5. Vous avez également un excellent échantillon pour tracer une route entre deux points de la carte, regardez ici dans ces liens Link1 et Link2 et cela Bonne réponse .

Après avoir suivi ces étapes, vous pourrez facilement faire votre demande. La seule condition est que vous deviez le lire et le comprendre, car, comme par magie, il ne va pas être complet en un clic.

148
MKJParekh

Beaucoup de réponses à ce jour, qui sont toutes d'excellents indicateurs d'API et de tutoriels. Une chose que j'aimerais ajouter est que je calcule la distance qui sépare les marqueurs de mon emplacement en utilisant quelque chose comme:

float distance = (float) loc.distanceTo(loc2);

J'espère que cela vous aidera à préciser les détails de votre problème. Il retourne une estimation approximative de la distance (en m) entre les points et est utile pour éliminer les POI trop éloignés - est-il bon de décombrer votre carte?

13
iaindownie

Vous pouvez utiliser google map Obtenir l'emplacement de l'utilisateur ici!

Après avoir obtenu votre position (longitude et latitude), vous pouvez utiliser google place api

Ce code peut vous aider à localiser facilement votre emplacement, mais pas le meilleur moyen.

locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
String bestProvider = locationManager.getBestProvider(criteria, true);
Location location = locationManager.getLastKnownLocation(bestProvider);  
6
Sam

Vous avez deux options pour afficher la carte

  1. Utiliser la bibliothèque de cartes pour Android pour rendre la carte
  2. Utiliser Maps API V3 dans une vue Web

Pour afficher des points d'intérêt locaux autour d'une latitude, utilisation longue API de lieux

5
Rajdeep Dua