首頁 > web前端 > js教程 > 主體

對多個位置進行地理編碼時,如何避免 Google Maps API v3 中出現 OVER_QUERY_LIMIT 錯誤?

Linda Hamilton
發布: 2024-11-02 15:23:02
原創
192 人瀏覽過

How to Avoid OVER_QUERY_LIMIT Errors in Google Maps API v3 When Geocoding Multiple Locations?

減慢地理編碼請求以避免Google Maps API v3 中出現OVER_QUERY_LIMIT 錯誤

錯誤來源

使用Google Maps API 對11 個以上位置進行地理編碼時v3 中,您可能會遇到OVER_QUERY_LIMIT 錯誤。這表示您超出了地理編碼請求的速率限制。

解決方案

要解決此錯誤,您需要在地理編碼請求之間引入暫停。

JavaScript 實作

這是程式碼的修改版本,它在每個地理編碼請求後實現暫停:

<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 施加的速率限制。

註解

  • 您可以依照速率限制和您的要求調整延遲值。
  • 如果再次遇到 OVER_QUERY_LIMIT 錯誤,請嘗試增加延遲值。
  • 也要注意每日地理編碼請求總數的限制。

以上是對多個位置進行地理編碼時,如何避免 Google Maps API v3 中出現 OVER_QUERY_LIMIT 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!