iOS では、一度に約 50 個のジオコード リクエストに制限されていると読みました。大きなセット、おそらく 200 のセットがある場合はどうなりますか? 一度に 50 を超えるセットをジオコーディングする方法はありますか? たとえば、セット間の遅延を使用して、各セットを 50 に制限します。セット間のジオコーディングを遅延させる理想的な方法は何でしょうか?
次の質問に対する NSProgrammer の回答を見てきました。
iPhone iOS5 CLGeocoder 大規模な (200) の住所セットをジオコーディングする方法は?
彼が言及した遅延の種類について何か提案はありますか? その遅延はハンドラー内で別のスレッドで実行されますか?
for(int i = 0; i < [myArray count]; i++){
[call geoCoderMethod];
}
-geoCoderMethod{
[geocoder geocodeAddressString:addressString completionHandler:^(NSArray *placemarks, NSError *error) {
getCo-ordinates;
add annotation to mapview;
}
配列をそれぞれ 25 項目のチャンクに分割し、 を呼び出して、メソッドgeoCoderMethod
を使用して遅延を誘発しようとしましたperformSelector
。しかし、performSelector
メソッドとgeoCoder
は別のスレッドで実行されているようで、メソッド呼び出しの間に遅延を引き起こすことはできません。