使用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中文網其他相關文章!