0

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

我认为可以使用 iOS 5.0 上的 CLGeocoder 和 iOS < 5.0 上的 MKReverseGeocoder(在 iOS 5.0 中弃用)来完成。

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

任何人都可以建议一种方法来实现这一点。

提前致谢。

4

1 回答 1

3

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

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

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

于 2012-07-17T08:43:46.180 回答