3

我有一个使用 CLGeocoder 执行反向地理编码的 iPhone 应用程序(使用 XCode 4.4.1 和 IOS 5.1 的操作系统目标构建)。

在我的应用程序中,我确定标题(用于地图上的注释)如下:

    CLPlacemark *placemark = ...;      
    NSString* title = [NSString stringWithFormat:@"%@, %@, %@", placemark.subLocality, placemark.locality, placemark.country]
    ...

在 IOS5.x 设备上运行时,结果与预期的一样,位置信息从左到右按比例增加(即郊区、城市、国家/地区)。

如果我在 IOS6 设备上运行完全相同的应用程序,则 placemark.subLocality 和 placemark.locality 的值会颠倒,从而导致(城市、郊区、国家/地区)。

我怀疑这是从谷歌地图切换到苹果地图的结果。我不愿意根据 IOS 版本有条件地对此进行编码,因为我怀疑 IOS6 下的行为不正确,如果是这样,将来会更正。

有没有人遇到过这个问题,如果有的话,有什么关于处理它的最佳方法的建议吗?或者我错过了什么(我是一个相对较新的 IOS 开发人员)?

4

1 回答 1

0

在 iOS 6.0 的 Reverse GEO 响应中,次区域性和区域性被交换,但仅适用于某些位置。旧金山似乎很好,但悉尼(和其他澳大利亚城市)以错误的顺序返回值。

于 2012-10-02T04:41:05.823 回答