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