将lat long转换为Place Name

时间:2012-07-17 08:25:04

标签: objective-c ios

我想将纬度 - 经度转换为地址(地名)。

我认为可以使用iOS 5.0上的CLGeocoder和iOS上的MKReverseGeocoder(iOS 5.0中的已删除)来完成。 5.0。

我的应用程序需要从iOS 4.0开始支持。

任何人都可以提出实现这一目标的方法。

提前致谢。

1 个答案:

答案 0 :(得分:3)

API已被弃用这一事实并不意味着您无法在iOS 5上使用它。它仍然可以正常工作,但可能会在未来版本中被删除而不会发出警告。因此,为了保持兼容性,您可以检查CLGeocoder类是否可用并使用适当的实现:

Class clGeocoderClass = NSClassFromString(@"CLGeocoder");
if (clGeocoderClass) {
    // iOS 5. Use CLGeocoder
} else {
    // iOS prior to 5. Use MKReverseGeocoder.
}

因此,如果将来删除MKReverseGeocoder,您将不会遇到任何问题,因为CLGeocoder类将是首选。无论如何,在5之前运行iOS版本的设备不可避免地会回退到MKReverseGeocoder,这在旧版本上没有问题。