2011-12-29 6 views
2

Je fais une application Android. Est-il possible de vérifier si un utilisateur (donné quelques coordonnées) fait face à une rue et si cette rue est à moins de 10-20 pieds de distance? Sinon, y a-t-il une carte open source que je peux "parcourir" manuellement en utilisant le code/les coordonnées pour voir s'il y a une "rue" à proximité? Je veux faire un système de navigation pour les aveugles et j'ai besoin d'un moyen de vérifier si l'utilisateur est debout au milieu de la rue.Google Maps API Coordonnées de rue

Merci, Rohit

Répondre

1

Vous aurez envie de lire sur l'API Google Maps géocodage:

http://code.google.com/apis/maps/documentation/geocoding/

Si vous êtes sur Android, il y a une Geocoder classe spéciale qui appellera Google Maps pour vous:

Geocoder geocoder = new Geocoder(this, Locale.getDefault()); 
List<Address> addresses = geocoder.getFromLocation(lat, lng, 1); 

(Source: Android: Reverse geocoding - getFromLocation)L'attrape est que cela va donner l'adresse la plus probable pour l'emplacement actuel de l'utilisateur - vous ne pouvez pas spécifier un facteur fuzz ou quelque chose comme ça. Même alors, 10-20 pieds devrait être assez proche pour que cela corresponde.

Si cela ne vous permet pas d'obtenir les données dont vous avez besoin, vous pouvez également consulter OpenStreetMap, qui est une base de données de cartes ouvertes. Je n'ai pas beaucoup d'expérience avec moi-même, mais il y a la documentation ici: http://wiki.openstreetmap.org/wiki/Main_Page

+0

Existe-t-il un moyen d'obtenir un tableau de coordonnées qui correspondent au chemin de la rue? Donc, je peux les comparer à la position actuelle? – rkrishnan2012

+0

Vous pouvez convertir une adresse unique en une paire lat/long («reverse geocoding»), mais les API Google ne vous permettent pas de faire cela pour une rue entière. –

Questions connexes