Einführung:
In Google Maps API v3 können Sie Es tritt der Fehler OVER_QUERY_LIMIT auf, wenn in einem kurzen Zeitraum zu viele Geokodierungsanfragen gestellt werden. Um diesen Fehler zu vermeiden, muss ein Verzögerungsmechanismus zwischen Anfragen implementiert werden.
JavaScript-Implementierung:
Um eine Pause zwischen Geokodierungsaufrufen einzuführen, können Sie das folgende JavaScript verwenden Code:
<code class="javascript">function codeAddress(vPostCode) { if (geocoder) { // If there's an existing delay, wait for it to finish while (wait) { /* Just wait. */ } 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 if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT) { wait = true; setTimeout(function() { wait = false; }, 2000); // Set a delay of 2000 milliseconds } else { alert("Geocode was not successful for the following reason: " + status); } }); } }</code>
Dieser Code prüft auf bestehende Verzögerungen, legt eine neue Verzögerung fest, wenn der Fehler OVER_QUERY_LIMIT auftritt, und wartet, bis die Verzögerung beendet ist, bevor er mit der Geokodierung fortfährt.
Beispiel:
In Ihrem bereitgestellten Code können Sie die vorhandene codeAddress-Funktion durch die aktualisierte Version ersetzen:
<code class="javascript">function codeAddress(vPostCode) { if (geocoder) { while (wait) { /* Just wait. */ }; 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 if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT) { wait = true; setTimeout(function() { wait = false; }, 2000); } else { alert("Geocode was not successful for the following reason: " + status); } }); } }</code>
Diese Änderung führt zu den notwendigen Verzögerungen, um den Fehler OVER_QUERY_LIMIT zu verhindern.
Das obige ist der detaillierte Inhalt vonWie kann der Google Maps API OVER_QUERY_LIMIT-Fehler in Version 3 verhindert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!