Получить информацию о местоположении с помощью CLPlaceMark и CLGeocoder

Я закончил рисовать маршрут между двумя местами, используя ClLocationCoordinate2D на карте в ios 6 динамически. Может ли кто-нибудь помочь мне в получении имени местоположения, используя CLPlacemark и CLGeocoder, поскольку обратный геокодер устарел в ios 6.

2 ответа

Решение

Вы можете получить информацию, как показано ниже, с помощью метода Delegate.

ОБНОВИТЬ:

Сначала определите эту переменную в .h файл как ниже..

NSString *postcode,*locationName;

и использовать его ниже метод...

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
    CLGeocoder * geoCoder = [[CLGeocoder alloc] init];
    [geoCoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray *placemarks, NSError *error) {
        for (CLPlacemark * placemark in placemarks) {
            postcode = [placemark postalCode];
            [postcode retain];
            locationName = [placemark name];
            [locationName retain];

            NSLog(@"\n placemark %@",placemarks);
        }    
    }];
    [geoCoder release];
    NSLog(@"\n Location Name ==> %@  ----> GotPostCode:%@",locationName,postcode);
}

здесь вы также можете использовать другое свойство CLGeocoder лайк locality,location,так далее...

Объект CLPlacemark хранит данные меток для заданной широты и долготы. Данные меток включают в себя информацию, такую ​​как страна, штат, город и адрес улицы, связанный с указанной координатой.

Проверить ссылку

Другие вопросы по тегам