Le service de géocodage natif d'Apple est fourni par le MapKit framework. L'objet important dans ce cadre est MKLocalSearch
, qui peut géocoder des adresses et renvoyer plusieurs résultats. MKLocalSearch renvoie 10 résultats dans mapItems
de type MKMapItem
. Chaque objet MKMapItem contient un objet MKPlacemark
, qui est une sous-classe de CLPlacemark
.
Voici un exemple en utilisant MKLocalSearch
de 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
}];
nous avons utilisé le Forward Geaocoder de http://blog.sallarp.com au lieu de SVGeocoder – johsem
Pourquoi cela? A partir des Apple Docs: Dans le cas de demandes de géocodage vers l'avant, plusieurs objets de repère peuvent être renvoyés si les informations fournies ont généré plusieurs emplacements possibles. – prince
Je suppose que le service de géocodage d'Apple est assez limité à partir de maintenant. Je m'attendrais à ce qu'il change rapidement. Vous pouvez voir que Apple se précipite pour s'éloigner de la dépendance sur Google ici. –