2009-08-26 7 views
1

Je souhaite mettre à jour un MapView dans une application iPhone. En utilisant un géocordinate, c'est trivial. Mais que faire si je ne connais pas les coordonnées? Je veux le mettre à jour en utilisant une chaîne d'adresse, comme vous le feriez dans la zone de texte de google maps.Comment mettre à jour un MapView avec une adresse?

Pour donner un peu plus d'arrière-plan, dans mon application, un MapView est affiché avec l'emplacement actuel de l'utilisateur. Une fois l'emplacement récupéré, j'utilise ReverseGeocoder pour le traduire en une adresse lisible par l'utilisateur, qui s'affiche dans un TextView sous la carte.

Mais l'emplacement est souvent faux - cette application sera principalement utilisée à New York et l'iPhone GPS est souvent inexact ici (en raison de grands bâtiments?). Dans ce cas, l'utilisateur peut appuyer sur la vue de texte et mettre dans l'adresse réelle. À ce stade, je souhaite que MapView mette à jour avec l'adresse qu'ils ont saisie. Mais ce n'est pas évident pour moi d'y arriver.

Répondre

0

L'iPhone SDK ne fournit pas cette fonctionnalité. Vous devrez utiliser un service de géocodage tel que Google Geocoding API.

L'API Google fournit un service HTTP pour rechercher la géolocalisation. Par exemple, pour déterminer l'emplacement pour le siège social de Google, vous pouvez interroger

http://maps.google.com/maps/geo?q=1600+Amphitheatre+Parkway,+Mountain+View,+CA&output=csv&oe=utf8&sensor=true_or_false&key=your_api_key 

Vous pouvez également modifier le format des résultats.