我有一个使用 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 开发人员)?