Heim  >  Artikel  >  Web-Frontend  >  Wie vermeide ich OVER_QUERY_LIMIT-Fehler in Google Maps API v3 beim Geokodieren mehrerer Standorte?

Wie vermeide ich OVER_QUERY_LIMIT-Fehler in Google Maps API v3 beim Geokodieren mehrerer Standorte?

Linda Hamilton
Linda HamiltonOriginal
2024-11-02 15:23:02193Durchsuche

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

Geokodierungsanfragen verlangsamen, um OVER_QUERY_LIMIT Fehler in Google Maps API v3 zu vermeiden

Ursprung des Fehlers

Bei der Geokodierung von mehr als 11 Standorten mit der Google Maps API v3 kann der Fehler OVER_QUERY_LIMIT auftreten. Dies weist darauf hin, dass Sie das Ratenlimit für Geokodierungsanfragen überschreiten.

Lösung

Um diesen Fehler zu beheben, müssen Sie Pausen zwischen Geokodierungsanfragen einführen.

JavaScript-Implementierung

Hier ist eine modifizierte Version Ihres Codes, die eine Pause nach jeder Geokodierungsanfrage implementiert:

<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>

So funktioniert es

In diesem Code wird die Funktion setTimeout() verwendet um eine Verzögerung von 2 Sekunden (2000 Millisekunden) zwischen jeder Geokodierungsanfrage einzuführen. Dadurch wird sichergestellt, dass Sie das von der API auferlegte Ratenlimit nicht überschreiten.

Hinweise

  • Sie können den Verzögerungswert basierend auf dem Ratenlimit und Ihren Anforderungen anpassen.
  • Wenn der Fehler OVER_QUERY_LIMIT erneut auftritt, versuchen Sie, den Verzögerungswert zu erhöhen.
  • Beachten Sie auch das tägliche Limit für die Gesamtzahl der Geokodierungsanfragen.

Das obige ist der detaillierte Inhalt vonWie vermeide ich OVER_QUERY_LIMIT-Fehler in Google Maps API v3 beim Geokodieren mehrerer Standorte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn