在 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 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 错误时暂停执行。然后设置 2000 毫秒的超时来恢复执行,从而在请求之间提供延迟。
以上是如何使用 Javascript 避免 Google Maps API v3 中出现 OVER_QUERY_LIMIT 错误?的详细内容。更多信息请关注PHP中文网其他相关文章!