【发布时间】:2013-04-16 07:05:12
【问题描述】:
我已经完成了在 ios 6 的地图上使用 ClLocationCoordinate2D 动态绘制两个地方之间的路线。任何人都可以帮助我使用 CLPlacemark 和 CLGeocoder 获取位置名称,因为反向地理编码器在 ios 6 中已被弃用。
【问题讨论】:
标签: iphone mkmapview mapkit mkannotation ios6-maps
我已经完成了在 ios 6 的地图上使用 ClLocationCoordinate2D 动态绘制两个地方之间的路线。任何人都可以帮助我使用 CLPlacemark 和 CLGeocoder 获取位置名称,因为反向地理编码器在 ios 6 中已被弃用。
【问题讨论】:
标签: iphone mkmapview mapkit mkannotation ios6-maps
你可以通过它的 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);
}
这里你也可以使用CLGeocoder的其他属性,比如locality,location,etc...
【讨论】:
CLPlacemark 对象存储给定纬度和经度的地标数据。地标数据包括与指定坐标相关的国家、州、城市和街道地址等信息。
【讨论】: