Привет Я пытаюсь получить имя города и штата с помощью CLGeocoder. Однако, placemark.addressDictionary возвращается мне:CLGeocoder возвращает нулевые результаты для города и штата при использовании текущих данных о местоположении
{ FormattedAddressLines = ( "Южная Атлантика" ); Название = "Южно-Атлантический океан"; Ocean = "South Atlantic Ocean"; }
и является метка: Южная Атлантика, Южная Атлантика @ < -42.60533670, -21,93128480> +/- 100.00m, область CLCircularRegion (идентификатор:»< -41,51023865, -31,60774370> радиус 4958095,65' , центр : < -41.51023865, -31.60774370>, радиус: 4958095.65m)
Кроме того, NSLog из [метки метки] и [отметки AdministrativeArea] показывает как ноль.
попытался также добавлять рамки ABAdressBookUI, ABAdressBook и получить данные, как:
NSString * addressDict = ABCreateStringWithAddressDictionary (placemark.addressDictionary, NO); который возвращает объект с пустым описанием.
или пытался: NSString * state = (NSString *) [placemark.addressDictionary objectForKey: kABPersonAddressStateKey]; который предупреждает о несовместимых типах указателей.
Если есть какое-либо возможное решение или если у меня что-то не хватает, сообщите мне.
Мой код, когда текущая кнопка местоположение сливают выглядит следующим образом:
CLLocation * LOC;
loc = [[CLLocation alloc] initWithLatitude:[KLocationManager sharedManager]._locationManager.location.coordinate.latitude longitude:[KLocationManager sharedManager]._locationManager.location.coordinate.longitude];
CLGeocoder* geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:loc completionHandler:^(NSArray *placemarks, NSError *error) {
CLPlacemark* placemark = [placemarks objectAtIndex:0];
if (placemark) {
NSDictionary* dic = placemark.addressDictionary;
NSString* locName = [NSString stringWithFormat:@"%@, %@", [dic objectForKey:@"City"],[dic objectForKey:@"State"]];
CLLocation* loc = placemark.location;
self.returnLocationDict = @{@"name":locName, @"location":loc};
}
}];
Что мне здесь не хватает?