0

我目前正在开发一个将使用 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 会返回社区,但它会返回城市。

任何帮助将不胜感激,
戴夫

4

1 回答 1

1

在阅读了 Apple 为该CLPlacemark课程提供的文档后,我注意到有一些我不知道的字段。

这些领域的包容性正是我想要获得的,subLocality,它似乎是 Apple 的社区文档。如果我只是阅读文档而不是假设从 中返回的对象[placemarks objectAtIndex:0],当存储在CLPlacemark*placemark 中时,不会有比NSLog(@"%@", [placemarks objectAtIndex:0])调用时显示的更多的数据,我会更快地弄清楚这一点。那好吧。我用来访问社区的代码是:

[placemark subLocality];
于 2013-12-23T00:53:20.763 回答