【问题标题】:CLGeocoder not returning neighborhood name when I reversegeocode当我反向地理编码时,CLGeocoder 不返回社区名称
【发布时间】:2013-12-22 19:43:25
【问题描述】:

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

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

【问题讨论】:

    标签: core-location cllocationmanager reverse-geocoding clgeocoder


    【解决方案1】:

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

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

    [placemark subLocality];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多