Google Maps API を使用して 11 か所以上の場所をジオコーディングする場合v3 では、OVER_QUERY_LIMIT エラーが発生する可能性があります。これは、ジオコーディング リクエストのレート制限を超えていることを示しています。
このエラーを解決するには、ジオコーディング リクエスト間に一時停止を導入する必要があります。
これは、各ジオコーディング リクエストの後に一時停止を実装するコードの修正バージョンです:
<code class="javascript">function codeAddress(vPostCode) { if (geocoder) { setTimeout(function() { geocoder.geocode( { 'address': "'" + vPostCode + "'"}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { map.setCenter(results[0].geometry.location); var marker = new google.maps.Marker({ map: map, position: results[0].geometry.location }); } else { alert("Geocode was not successful for the following reason: " + status); } }); }, 2000); // 2 seconds delay } }</code>
このコードでは、setTimeout() 関数が使用されます。各ジオコーディング リクエスト間に 2 秒 (2000 ミリ秒) の遅延が発生します。これにより、API によって課されたレート制限を超えないようにすることができます。
以上が複数の場所をジオコーディングするときに Google Maps API v3 で発生する OVER_QUERY_LIMIT エラーを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。