Google Maps API v3 での OVER_QUERY_LIMIT の決定: Javascript によるリクエストの速度低下
Google マップで過剰なジオコーディング リクエストを行うと、OVER_QUERY_LIMIT エラーが頻繁に発生しますAPI v3。このエラーを回避するには、各リクエストの間に一時停止を導入してプロセスを遅くすることが不可欠です。
元のコードは次のとおりです:
<code class="javascript">function codeAddress(vPostCode) { if (geocoder) { geocoder.geocode( { 'address': "'" + vPostCode + "'"}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { // Handling success } else if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT) { // Handling OVER_QUERY_LIMIT error } else { // Handling other errors } }); } }</code>
一時停止を実装するには、次のコードを利用できます。 code:
<code class="javascript">function codeAddress(vPostCode) { if (geocoder) { while (wait) { /* Just wait. */ }; geocoder.geocode( { 'address': "'" + vPostCode + "'"}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { // Handling success } else if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT) { wait = true; setTimeout("wait = true", 2000); // Handling OVER_QUERY_LIMIT error } else { // Handling other errors } }); } }</code>
この変更されたコードでは、OVER_QUERY_LIMIT エラーが発生したときに実行を一時停止するための wait 変数を導入します。その後、実行を再開するために 2000 ミリ秒のタイムアウトが設定され、リクエスト間に遅延が生じます。
以上がJavascript を使用した Google Maps API v3 での OVER_QUERY_LIMIT エラーを回避する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。