Sto cercando di ottenere l'indirizzo tramite CLLocationManager usando latitudine e longitudine ma restituisce solo il nome di stato e di paese, voglio anche la città, appendo il mio codice chiunque può dirmi che come posso modificare il mio codice per ottenere anche il nome della città. Qui di seguito è il mio codicecome ottenere il nome della città tramite CLlocationManager usando latitudine e longitudine in IOS?
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
currentLocation = [locations objectAtIndex:0];
CLGeocoder *geocoder1 = [[CLGeocoder alloc] init];
NSLog(@"Detected Location : %f, %f", currentLocation.coordinate.latitude, currentLocation.coordinate.longitude);
//CLLocation *newLocation = [[CLLocation alloc]initWithLatitude:26.9260 longitude:75.8235];
CLLocation *newLocation = [[CLLocation alloc]initWithLatitude:currentLocation.coordinate.latitude longitude:currentLocation.coordinate.longitude];
[geocoder1 reverseGeocodeLocation:newLocation
completionHandler:^(NSArray *placemarks, NSError *error) {
if (error) {
NSLog(@"Geocode failed with error: %@", error);
return;
}
if (placemarks && placemarks.count > 0)
{
CLPlacemark *placemark = placemarks[0];
NSDictionary *addressDictionary =
placemark.addressDictionary;
NSLog(@"%@ ", addressDictionary);
NSString *address = [addressDictionary
objectForKey:(NSString *)kABPersonAddressStreetKey];
NSString *city = [addressDictionary
objectForKey:(NSString *)kABPersonAddressCityKey];
NSString *state = [addressDictionary
objectForKey:(NSString *)kABPersonAddressStateKey];
NSString *zip = [addressDictionary
objectForKey:(NSString *)kABPersonAddressZIPKey];
NSLog(@"%@ %@ %@ %@", address,city, state, zip);
}
}];
}
Non si ottiene veramente "l'indirizzo tramite CLLocationManager". Lo stai ricevendo tramite CLGeocoder (CLLocationManager ti sta solo dando le coordinate). Il codice sembra ok. Potrebbe essere specifico per le coordinate che CLGeocoder (Apple) potrebbe non essere in grado di geocodificare bene (Google sembra essere migliore in questo). Le coordinate sono 26.9260, 75.8235? – Anna