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

在我的应用程序中,按照以下步骤确定标题(用于地图上的注释):

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

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

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

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

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

最佳答案

iOS 6.0中“反向GEO”响应中的Sublocality and locality are swapped,但仅适用于某些位置。旧金山似乎很好,但是悉尼(和其他澳大利亚城市)以错误的顺序返回值。

关于ios - IOS6反向地理编码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12614848/

10-10 03:58