Détermination de OVER_QUERY_LIMIT dans l'API Google Maps v3 : ralentissement des requêtes avec Javascript
L'erreur OVER_QUERY_LIMIT se produit fréquemment lors de requêtes de géocodage excessives dans Google Maps API v3. Pour éviter cette erreur, il est essentiel d'introduire une pause entre chaque requête pour ralentir le processus.
Voici le code original :
<code class="javascript">function codeAddress(vPostCode) { if (geocoder) { geocoder.geocode( { 'address': "'" + vPostCode + "'"}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { // Handling success } else if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT) { // Handling OVER_QUERY_LIMIT error } else { // Handling other errors } }); } }</code>
Pour implémenter la pause, nous pouvons utiliser ce qui suit code :
<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) { // Handling success } else if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT) { wait = true; setTimeout("wait = true", 2000); // Handling OVER_QUERY_LIMIT error } else { // Handling other errors } }); } }</code>
Dans ce code modifié, nous introduisons une variable d'attente pour suspendre l'exécution lorsque l'erreur OVER_QUERY_LIMIT se produit. Un timeout de 2000 millisecondes est alors défini pour reprendre l'exécution, offrant un délai entre les requêtes.
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!