El servicio de geocodificación nativo de Apple es provisto por el MapKit framework. El objeto importante en este marco es MKLocalSearch
, que puede geocodificar direcciones y devolver resultados múltiples.
MKLocalSearch devuelve 10 resultados en mapItems
de tipo MKMapItem
. Cada MKMapItem contiene un objeto MKPlacemark
, que es una subclase de CLPlacemark
.
Aquí hay un ejemplo usando de MKLocalSearch
MapKit:
MKLocalSearchRequest* request = [[MKLocalSearchRequest alloc] init];
request.naturalLanguageQuery = @"Calgary Tower";
request.region = MKCoordinateRegionMakeWithDistance(loc, kSearchMapBoundingBoxDistanceInMetres, kSearchMapBoundingBoxDistanceInMetres);
MKLocalSearch* search = [[MKLocalSearch alloc] initWithRequest:request];
[search startWithCompletionHandler:^(MKLocalSearchResponse *response, NSError *error) {
yourArray = response.mapItems; // array of MKMapItems
// .. do you other logic here
}];
Se utilizó el delantero Geaocoder de http://blog.sallarp.com en lugar de SVGeocoder – johsem
¿Por qué sucede esto? De Apple Docs: en el caso de las solicitudes de geocodificación de reenvío, se pueden devolver múltiples objetos de marcas de posición si la información proporcionada arroja múltiples ubicaciones posibles. – prince
Supongo que el servicio de geocodificación de Apple es bastante limitado a partir de ahora. Yo esperaría que cambie pronto. Puedes ver que Apple está apresurándose a alejarse de la dependencia de Google aquí. –