2012-07-05 3 views
9

CLGeocoderに問題があります。geocodeAddressString:withCompletionHandlerを呼び出すと、入力された文字列が複数の値を返すはずであるにもかかわらず、結果が1つしか返されません。CLGeocoderのみ1つの目印を返す

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

しかし、私の目印の配列は今までそれで一つの項目があります。

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

を任意の助けてくれてありがとう。


私は、このような1つの結果だけを返した「ピカデリー、英国」、「ユニオンストリート、英国」などの文字列を使用していました。今私はそれについて考えて、英国を終わらせることが貢献要因かもしれません。

+0

サンプル文字列を追加して、他の人が自分でテストできるようにします –

+0

完了しましたが、私は今、私のエラーを認識したと思います。しかし、問題は、私が結果を英国固有のものにする必要があり、geocodeAddressStringを使うことです:inRegion:あなたが半径を割り当てる必要があるのであまり良くないので、いくつかのアイルランドが含まれます。 – prince

+0

CLLocationDistance distance1 = 750を使用していても、これはうんざりしています。 CLRegion * region = [[CLRegion alloc] initCircularRegionWithCenter:CLLocationCoordinate2Make(53.825564、-2.421976)radius:距離1識別子:なし]; geocodeAddressString:inRegionで:それは私に "ピカデリー"のためのオーストラリアの場所を与えます。 – prince

答えて

4

私はCLGeocoderについて知りませんが、あなたの要件が別の方法であれば、一致する位置情報を含むjsonを返すgoogleロケーション検索URL http://maps.google.com/maps/geo?q=londonを使用することです。

+0

ありがとう、私はまだこれを得ることができないので、私はその間にそれを使用します – prince

1

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

関連する問題