Reenviar la geoencoding desde el iPhone

Dado que el juego de mapas no proporciona la funcionalidad de geoencoding de reenvío en el día de hoy, ¿alguien puede brindar ayuda sobre cómo puedo usar una barra de búsqueda para devolver hoy una coordenada de latitud y longitud desde una dirección ingresada por el usuario? Si alguien puede proporcionar un código de muestra que sería genial.

Creé una API de geoencoding hacia adelante para el servidor de geoencoding de Google. Mira mi blogpost: http://blog.sallarp.com/ipad-iphone-forward-geocoding-api-google/

Creé SVGeocoder , una simple clase de geocodificador directo e inverso para iOS. También utiliza la API de geoencoding de Google y devuelve una marca MKPlace .

Así es como geocodifica una cadena de direcciones:

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

Y reubica geocodifica un objeto CLLocationCoordinate2D como este:

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

El SVGeocoderDelegate ofrece estos 2 métodos:

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

He hecho un pequeño trabajo sobre geoencoding directa e inversa utilizando CLGeocoder en iOS5 CoreLocation framework en github espero que te ayude. https://github.com/Mangesh20/geocoding

Es un problema conocido con la versión actual de MapKit. Presente un informe de error y complique # 6628720 para que lo hagan una prioridad.

Mientras tanto, hay API de encoding avanzada de Google Maps , Yahoo Placemaker o Cloudmade .

También hay un marco aquí: https://github.com/tylerhall/CoreGeoLocation

Comentario de los documentos: un GeoCoder objective y un geocodificador inverso que se ajustan principalmente a los servicios de geoencoding de Yahoo o a las API geográficas de Google.

No existe tal funcionalidad en MapKit. Lo mejor que puede hacer es llamar a un servicio web de terceros. Google tiene algunas API para hacer esto y también Yahoo, creo. Ambos tienen restricciones de uso comercial, así que lea el acuerdo.