Maison >interface Web >js tutoriel >Comment éviter les erreurs OVER_QUERY_LIMIT dans l'API Google Maps v3 avec Javascript ?

Comment éviter les erreurs OVER_QUERY_LIMIT dans l'API Google Maps v3 avec Javascript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-02 16:30:02572parcourir

How to Avoid OVER_QUERY_LIMIT Errors in Google Maps API v3 with Javascript?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn