【问题标题】:How to parse placemarks from CLGeocoder to only display city如何从 CLGeocoder 解析地标以仅显示城市
【发布时间】:2012-11-14 18:29:17
【问题描述】:

我正在使用以下代码从 CLGeocoder 接收地标,并且我只想在同一个视图控制器的另一个文本视图中显示城市。我将如何从这个数组中解析出城市?它不是 NSDictionary 或任何东西,所以我不知道该怎么做。

CLGeocoder *geocoder = [[CLGeocoder alloc] init];

[geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {
    NSLog(@"reverseGeocodeLocation:completionHandler: Completion Handler called!");
    if (error){
        NSLog(@"Geocode failed with error: %@", error);
        return;
    }
    NSLog(@"Received placemarks: %@", placemarks);
}];

给定地标的日志如下:

<__nsarraym>( 937–961 Sunnyvale Saratoga Rd, 937–961 Sunnyvale Saratoga Rd, Sunnyvale, CA 94087, United States @ +/- 100.00m )

<__nsarraym>( 5600 Van Nuys Blvd, 5600 Van Nuys Blvd, Van Nuys, CA 91401-4602, United States @ +/- 100.00m, 区域(标识符 半径 57.64) ,-118.44794464> 半径 57.64m )

如何让 Sunnyvale 或 Van Nuys 部分显示为字符串?

【问题讨论】:

  • 啊,好的,所以它返回具有与其关联的属性的 CLPlacemark 对象。完全误读了文档,我以为它返回了一堆乱七八糟的字符串。

标签: xcode parsing mkmapview core-location clgeocoder


【解决方案1】:

使用CLPlacemark'sproperties

CLGeocoder * geoCoder = [[CLGeocoder alloc] init];
[geoCoder reverseGeocodeLocation:yourLocation completionHandler:^(NSArray *placemarks, NSError *error) {
  CLPlacemark *placemark = [placemarks objectAtIndex:0];
  NSString *strCity = [placemark locality];
  NSLog(@"%@",strCity);
}];

【讨论】:

    猜你喜欢
    • 2013-06-28
    • 2020-05-14
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-21
    • 2013-01-27
    相关资源
    最近更新 更多