Получить информацию о местоположении с помощью 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 хранит данные меток для заданной широты и долготы. Данные меток включают в себя информацию, такую как страна, штат, город и адрес улицы, связанный с указанной координатой.