9

geocodeAddressString:withCompletionHandler入力された文字列が複数の値を返す必要があることを知っているにもかかわらず、呼び出すと 1 つの結果しか返されない CLGeocoder に問題があります。クラスリファレンスにも次のように記載されています。

フォワード ジオコーディング リクエストの場合、提供された情報が複数の可能な場所を生成した場合、複数の目印オブジェクトが返されることがあります。

ただし、目印配列には 1 つの項目しかありません。

    [geocoderDestination geocodeAddressString:destination completionHandler:^(NSArray *placemarks, NSError *error){
NSLog(@"array count:%i", [placemarks count];}

助けてくれてありがとう。


"Piccadilly, UK"、"Union Street, UK" などの文字列を使用しましたが、結果は 1 つしか返されませんでした。今考えると、イギリスを最後に置いたことが要因かもしれません。

4

2 に答える 2

4

CLGeocoder についてはわかりませんが、要件が場所の検索である場合は、別の方法として、Google の場所検索 URL http://maps.google.com/maps/geo?q=londonを使用して、一致した場所情報を含む json を返します。

于 2012-07-06T04:40:55.680 に答える
1

UK使用する代わりに、United Kingdom関連する結果が得られます。
住所にさらに情報を追加してみてください。
もう1つUK、有効な国コードではありませんが、代わりに配置しても問題は解決しなかった GBようです。さらに、Appleは独自のサーバーを使用してアドレスをデコードし、Googleサービスを使用できるようにするため、現在ほどスマートではありません.GBUK
CLGeocoderGoogle Maps API

于 2012-07-08T05:50:27.393 に答える