Dado que el MapKit no proporciona funcionalidad de geocodificación hacia adelante hoy en día, cualquier persona puede proporcionar ayuda sobre cómo me puedo utilizar una barra de búsqueda para devolver una latitud y longitud coordenadas de una dirección introducido por el usuario en la actualidad. Si alguien puede proporcionar un código de muestra que sería genial.geocodificación hacia adelante desde el iPhone
Respuesta
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.
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 codificación avanzada de Google Maps, a través de Yahoo Placemaker, o Cloudmade.
He creado una API de geocodificación hacia adelante para el servidor de codificación geográfica de Google. Mira mi entrada de blog: http://blog.sallarp.com/ipad-iphone-forward-geocoding-api-google/
También hay un marco aquí: https://github.com/tylerhall/CoreGeoLocation
Comentario de documentos: Un GEOCODER Objetivo y envoltura Geocoder inversa torno a los servicios de geocodificación de Yahoo o las API de Google Geo principalmente.
Nota importante para los usuarios: si usa la API de geocodificación de Google, debe mostrar el resultado en un mapa. Yahoo no parece tener esta limitación. – DenTheMan
Tienes que mostrar el resultado en un mapa de GOOGLE. Distinción importante. –
He creado SVGeocoder, un simple reenvío y clase de geocodificador inverso para iOS. También utiliza la API de geocodificación de Google y devuelve un MKPlacemark.
Esta es la forma de geocode una cadena de dirección:
NSString *addressString = @"3245 St-Denis, Montreal"
SVGeocoder *geocodeRequest = [[SVGeocoder alloc] initWithAddress:addressString];
[geocodeRequest setDelegate:self];
[geocodeRequest startAsynchronous];
Y se invierte codificación geográfica de un objeto CLLocationCoordinate2D así:
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;
iOS 5 ahora permite la codificación geográfica hacia adelante:
Espero que esto ayude!
Con iOS6, esta será probablemente la única solución utilizable (además de posiblemente Yahoo) ya que dudo que Google esté contento contigo al superponer los datos de geocodificación de Google en un mapa de Apple ... –
@KendallHelmstetterGelner Creo que Google estaría bien con esto, pero Apple ?...talvez no. – DataGraham
Son los TOS de Google los que lo previenen. https://developers.google.com/maps/documentation/geocoding/#Limits (no se muestran los datos de geocodificación de Google en mapas que no son de Google). A Apple no le importa dónde obtienes los datos de las cosas que superpones en un mapa. Ahora que Apple no está usando Google para los datos del mapa, no hay restricciones sobre cómo puede usar MapKit. –
me han hecho algunos pequeños trabajos en avance y retroceso utilizando la codificación geográfica CLGeocoder en marco IOS5 CoreLocation en github espero que le ayude. https://github.com/Mangesh20/geocoding
- 1. Entender el secreto hacia adelante
- 2. Spring MVC, hacia adelante
- 3. redirección hacia adelante o
- 4. LINQ: mirando hacia adelante condición
- 5. ¿Defina una función hacia adelante en Lua?
- 6. Git: Cómo moverse hacia atrás y hacia adelante entre confirmaciones
- 7. Administrar hacia adelante y hacia atrás en Richfaces
- 8. Encadenamiento hacia adelante y encadenamiento hacia atrás en Java
- 9. Ordenar ISO 8601 fechas hacia adelante o hacia atrás
- 10. Desplazar una animación jQuery hacia atrás y hacia adelante
- 11. ¿Cómo hago geocodificación (NO geocodificación inversa) en iPhone?
- 12. Corrección de errores hacia adelante en .NET
- 13. declaran hacia adelante función estática C++
- 14. gcc y libstdC++ hacia adelante compatibilidad
- 15. Encabezados hacia adelante para contenedores STL
- 16. ¿Cómo se distingue el botón de navegación hacia atrás/adelante?
- 17. ¿Quitar la entrada hacia adelante en el servicio de navegación?
- 18. Navegando hacia atrás y hacia adelante con el mouse en Visual Studio 2008
- 19. geocodificación de direcciones en coordenadas en iPhone
- 20. ¿Forma recomendada para admitir la compatibilidad hacia atrás/adelante en la aplicación iPhone?
- 21. El mejor servicio de geocodificación para desarrolladores de iPhone
- 22. ¿Cómo funciona en C portátil para buscar hacia adelante cuando se lee desde un conducto
- 23. ¿Cómo maneja Gmail hacia atrás/adelante en JavaScript enriquecido?
- 24. Distribución de probabilidad de números aleatorios hacia adelante
- 25. ¿Cómo se puede implementar un índice hacia adelante en PHP?
- 26. Llevar elemento hacia adelante (índice Z) en Silverlight/WPF
- 27. F # tubería hacia adelante para convertir de int a bigint
- 28. Recursividad de cola frente a recursión hacia adelante en Erlang
- 29. Escapar hacia adelante en la clase de caracteres jscript regexp?
- 30. declaración hacia adelante y espacios de nombres (C++)
Buen trabajo. Funciona de la caja. Muchas gracias. –
Estoy usando el geocodificador de avance de Merrimack también. Buen trabajo. –
Necesita ser actualizado a la nueva API de Geocodificación de Google (por ejemplo, ahora no se necesita ninguna clave de API). Además de eso, hace un gran trabajo. Gracias @Merrimack. http://code.google.com/apis/maps/documentation/geocoding/ – DenTheMan