ho il seguente codice:CLGeocoder ritorno sedi in altri paesi
CLGeocoder *_geo = [[CLGeocoder alloc] init];
CLRegion *region = [[CLRegion alloc] initCircularRegionWithCenter: CLLocationCoordinate2DMake(37.33233141, -122.03121860) radius:100 identifier:@"San Francisco"];
[_geo geocodeAddressString:@"Starbucks" inRegion:region
completionHandler:^(NSArray *placemarks, NSError *error)
{
NSLog("%@", placemarks);
}];
Ciò restituisce una posizione Starbucks nelle Filippine, anche se il centro è al centro di San Francisco.
(NSArray *) $3 = 0x07cd9d10 <__NSArrayM 0x7cd9d10>(
Starbuck's, Metro Manila, Quezon City, Republic of the Philippines @ <+14.63617752,+121.03067530> +/- 100.00m, region (identifier <+14.63584900,+121.02951050> radius 166.35) <+14.63584900,+121.02951050> radius 166.35m
)
Qualche idea?
Mi chiedo come fa l'applicazione ufficiale di Google Maps?Sembra che lo stiano facendo correttamente quando digito Starbucks nell'app – ninjaneer
È uno scatto totale al buio, ma probabilmente non usano CoreLocation. L'app Google Maps era presente in iOS 1.0, CoreLocation non appariva prima di iOS 2.0 e CLGeocoder non appariva fino a iOS 5.0. Inoltre, non c'è modo di dire quali limitazioni potrebbero aver imposto Google a Apple come parte dei termini per includere la tecnologia di mappatura di Google su iPhone senza costi (diretti) per gli utenti. –