É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.
iOS 5 permet désormais le géoencoding vers l'avant:
J'espère que ça aide!
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.