Lors du géocodage de plus de 11 emplacements à l'aide de l'API Google Maps v3, vous pouvez rencontrer l'erreur OVER_QUERY_LIMIT. Cela indique que vous dépassez la limite de débit pour les requêtes de géocodage.
Pour résoudre cette erreur, vous devez introduire des pauses entre les requêtes de géocodage.
Voici une version modifiée de votre code qui implémente une pause après chaque demande de géocodage :
<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>
Dans ce code, la fonction setTimeout() est utilisée d'introduire un délai de 2 secondes (2000 millisecondes) entre chaque demande de géocodage. Cela garantit que vous ne dépassez pas la limite de débit imposée par l'API.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!