>  기사  >  웹 프론트엔드  >  여러 위치를 지오코딩할 때 Google Maps API v3에서 OVER_QUERY_LIMIT 오류를 방지하는 방법은 무엇입니까?

여러 위치를 지오코딩할 때 Google Maps API v3에서 OVER_QUERY_LIMIT 오류를 방지하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-02 15:23:02193검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.