2009-12-03 6 views
1

Mon application iPhone est une application qui affiche des POI (points d'intérêt) dans MapView. Je voudrais donner à l'utilisateur la possibilité d'activer une fonctionnalité qui ne ferait que mettre en évidence les POI qui se trouvent dans la même rue, avenue, route, etc.iPhone SDK Mapkit: Comment vérifier si l'emplacement de l'utilisateur se trouve dans la même rue/avenue qu'une coordonnée donnée?

Existe-t-il un moyen de résoudre ce problème?

Merci beaucoup!

Répondre

0

Je crois que vous pourriez le faire en effectuant un géocodage inverse de l'emplacement des utilisateurs pour obtenir le nom de la rue, bien que ce ne soit pas toujours exact et que vous connaissiez déjà le nom de la rue. Check out Google Maps Reverse GeoCoding

+0

Merci. C'est exactement ce que je fais (vérifiez le radieux), mais cela me donne des POI qui sont sur la zone et non sur la même rue que celle de l'utilisateur. Merci – user223814

0

Je pense que la meilleure façon de résoudre ce problème est de donner à l'utilisateur un rayon pour filtrer les résultats. Cela réduirait votre besoin de géocodage inverse et économiserait sur le réseau et la batterie.

1

Cela ressemble plus à une question de base de données de requête qu'à une question de géolocalisation. Vous devez inverser le géocodage de votre position actuelle pour obtenir un nom de rue, puis demander un POI pour la même rue. Ce service Web fera le géocodage inverse http://www.geonames.org/maps/reverse-geocoder.html

Ensuite, vous devez faire la requête pour obtenir les POI pour cette rue. Google Maps supporte cela, et si la base de données de POI est à vous, vous devriez également être en mesure de supporter la requête.

Riche