3

CLGeocoder を使用してリバース ジオコーディングを実行する iPhone アプリ (XCode 4.4.1 と IOS 5.1 の OS ターゲットを使用して構築) があります。

私のアプリでは、次のように(地図上の注釈の)タイトルを決定します。

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

IOS5.x デバイスで実行すると、結果は期待どおりになり、位置情報のスケールが左から右に増加します (つまり、郊外、市、国)。

IOS6 デバイスでまったく同じアプリを実行すると、placemark.subLocality と placemark.locality の値が逆になり、(都市、郊外、国) になります。

これは、Google マップから Apple マップに切り替えた結果だと思われます。IOS6 での動作が正しくないと思われるため、IOS バージョンに基づいてこれを条件付きでコーディングすることには消極的です。その場合は将来的に修正される予定です。

誰かがこの問題に遭遇したことがありますか?もしそうなら、それに対処するための最善の方法についてアドバイスがありますか?それとも何か不足していますか (私は比較的新しい IOS 開発者です)?

4

1 に答える 1

0

サブローカリティとローカリティは、iOS 6.0 のリバース GEO 応答で交換されますが、一部の場所のみです。サンフランシスコは問題ないようですが、シドニー (および他のオーストラリアの都市) は間違った順序で値を返します。

于 2012-10-02T04:41:05.823 に答える