0

我已经完成了在 ios 6 的地图上使用 ClLocationCoordinate2D 动态绘制两个地方之间的路线。任何人都可以帮助我使用 CLPlacemark 和 CLGeocoder 获取位置名称,因为反向地理编码器在 ios 6 中已被弃用。

4

2 回答 2

1

您可以使用其 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);
}

在这里,您还可以使用CLGeocoderlike locality,location等的其他属性...

于 2013-04-16T07:15:33.890 回答
0

CLPlacemark 对象存储给定纬度和经度的地标数据。地标数据包括与指定坐标相关的国家、州、城市和街道地址等信息。

检查链接

于 2013-04-16T07:14:41.477 回答