Géoencoding direct de l'iPhone

Étant donné que le mapkit ne fournit pas de fonctionnalité de géoencoding direct aujourd'hui, quelqu'un peut-il fournir de l'aide sur la façon dont je peux utiliser une barre de search pour renvoyer une coordonnée de latitude et longitude à partir d'une adresse input par l'user aujourd'hui. Si quelqu'un peut fournir un exemple de code, ce serait génial.

J'ai créé une API de géoencoding direct pour le server de géoencoding de Google. Consultez mon blog: http://blog.sallarp.com/ipad-iphone-forward-geocoding-api-google/

J'ai créé SVGeocoder , un simple cours de géocodeur forward et reverse pour iOS. Il utilise également l'API Google Geocoding et renvoie un MKPlacemark .

Voici comment géocoder une string d'adresse:

NSSsortingng *addressSsortingng = @"3245 St-Denis, Montreal" SVGeocoder *geocodeRequest = [[SVGeocoder alloc] initWithAddress:addressSsortingng]; [geocodeRequest setDelegate:self]; [geocodeRequest startAsynchronous]; 

Et vous inversez le géoencoding d'un object CLLocationCoordinate2D comme ceci:

 CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(45.54181, -73.62928); SVGeocoder *rGeocoderRequest = [[SVGeocoder alloc] initWithCoordinate:coordinate]; [rGeocoderRequest setDelegate:self]; [rGeocoderRequest startAsynchronous]; 

Le SVGeocoderDelegate offre ces deux methods:

 - (void)geocoder:(SVGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark; - (void)geocoder:(SVGeocoder *)geocoder didFailWithError:(NSError *)error; 

J'ai fait quelques petits travaux sur le géoencoding direct et inverse en utilisant CLGeocoder dans le cadre CoreLocation iOS5 sur github espérons qu'il vous aidera. https://github.com/Mangesh20/geocoding

C'est un problème connu avec la version actuelle de MapKit. Déposez un bugreport et dupe # 6628720 pour qu'ils en fassent une priorité.

En attendant, il existe des API de géoencoding avancées de Google Maps , via Yahoo Placemaker ou Cloudmade .

Il y a aussi un cadre ici: https://github.com/tylerhall/CoreGeoLocation

Commentaire de docs: Un géocodeur objective et un géoencoding inversé autour des services de géoencoding de Yahoo ou des API géo de Google principalement.

Il n'y a pas de telle fonctionnalité dans MapKit. Le mieux que vous puissiez faire est d'appeler un service Web tiers. Google a quelques API pour le faire et je pense que Yahoo aussi. Les deux ont des ressortingctions sur l'utilisation commerciale, alors lisez l'accord.