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.
Um diesen Fehler zu beheben, müssen Sie Pausen zwischen Geokodierungsanfragen einführen.
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>
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.
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!