Maison > interface Web > js tutoriel > Comment éviter les erreurs OVER_QUERY_LIMIT dans l'API Google Maps v3 lors du géocodage de plusieurs emplacements ?

Comment éviter les erreurs OVER_QUERY_LIMIT dans l'API Google Maps v3 lors du géocodage de plusieurs emplacements ?

Linda Hamilton
Libérer: 2024-11-02 15:23:02
original
302 Les gens l'ont consulté

How to Avoid OVER_QUERY_LIMIT Errors in Google Maps API v3 When Geocoding Multiple Locations?

Ralentir les demandes de géocodage pour éviter les erreurs OVER_QUERY_LIMIT dans l'API Google Maps v3

Origine de l'erreur

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.

Solution

Pour résoudre cette erreur, vous devez introduire des pauses entre les requêtes de géocodage.

Implémentation JavaScript

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>
Copier après la connexion

Comment ça marche

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.

Remarques

  • Vous pouvez ajuster la valeur du délai en fonction de la limite de débit et de vos besoins.
  • Si vous rencontrez à nouveau l'erreur OVER_QUERY_LIMIT, essayez d'augmenter la valeur du délai.
  • N'oubliez pas également la limite quotidienne du nombre total de demandes de géocodage.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal