我目前正在开发一款将使用reversegeocode返回的数据的应用。现在,我可以成功地获得以下某个位置的值:地址,城市,州,邮政编码和国家/地区。除了我能够获得的值之外,我还想获得反向编码的位置的邻域名称。我的代码如下:
CLLocationManager *location = [[CLLocation alloc] init];
[location setDelegate:self];
location.desiredAccuracy=kCLLocationAccuracyBest;
location.distanceFilter=kCLDistanceFilterNone;
[location startMonitoringSignificantLocationChanges];
CLGeocoder *geolocation = [[CLGeocoder alloc] init];
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
NSLog(@"Update method is definitely being called!");
NSLog(@"Your current location is : %@", [locations lastObject]);
[geolocation reverseGeocodeLocation:[locations lastObject] completionHandler:^(NSArray *placemarks, NSError *error) {
NSLog(@"Reverse geocode complete: %@", placemarks);
CLPlacemark *placemark = [placemarks objectAtIndex:0];
NSLog(@"The locality area is: %@", placemark.locality);
}];
}
我希望placemark.locality能够返回邻居,但它会返回城市。
非常感谢任何帮助,
戴夫
答案 0 :(得分:1)
在阅读Apple为CLPlacemark
课程提供的文档后,我注意到有一些我不知道的字段。
包含在这些领域正是我试图获得的,subLocality,似乎是邻居的Apple文档。如果我刚刚阅读文档而不是假设从[placemarks objectAtIndex:0]
返回的对象,当存储在CLPlacemark
*地标中时,将没有比调用NSLog(@"%@", [placemarks objectAtIndex:0])
时显示的数据更多的数据,I我会更快地想出这个。那好吧。我用来访问邻域的代码是:
[placemark subLocality];