iOS9でXcode 7を使用しています。ユーザーの現在の場所からリストの他のすべての場所までの距離に基づいて、昇順の並べ替えを行いたいと思います。逆ジオロケーションを使用してリストを距離別に並べ替えます。
私は座標による距離を計算するのではなく、距離が選択された方法(ドライブ/歩行)に依存するため、アドレスで計算します。私がしたいのは、後でそのオブジェクトまでの距離を計算するために、各ロケーションオブジェクトにアドレスを保存することだけです。
私は、各オブジェクトの初期化子でこの要求をやっているオブジェクトとリストを初期化する場合:
let location = CLLocation(latitude: latitude, longitude: longitude) //changed!!!
CLGeocoder().reverseGeocodeLocation(location, completionHandler: {(placemarks, error) -> Void in
//the code to obtain an address and save it in a location object is here and works
}
私が今持っている問題は、私のリストは、172個のオブジェクトが含まれて、私は172の、そのようなreverseGeocodeLocation要求を送信しなければならないということですユーザーの場所から各オブジェクトの場所までの距離を計算する必要があります。
非常に多くのリクエストを送信すると、このエラーが発生します。 操作を完了できませんでした。 (kCLErrorDomain error 2)
これを解決する方法はありますか? 状況がわからない場合は教えてください。
私は、これは本当にreverseGeocodeLocationの使用目的ではないと思います! APIの制限を満たすためにあなたの要求を出し間隔せずに、私は。良い解決策があるだろう疑うあなたが別のAPIの制限と異なる地理位置情報サービスを使用してに見ているか、それはあなたが時間 – LulzCow
ソートaで複数の場所を送信することができますリストの上昇は、あなたがそれらの近くの場所を一覧表示しようとしている意味?? –
@anishparajuliはい正確 – newbiedevelopper