Limites de géocodage de l'API Google Javascript

quelles sont les limites de géocodage côté client avec L'API JavaScript V3 de Google Maps?


Mon projet de recherche:

  1. L'API Google Maps PHP a une limite de 2500 requêtes de géocodes par jour ( https://developers.google.com/maps/documentation/geocoding/#Limits )
  2. Google Maps API Javascript V3 a une limite de 25000 map loads par jour ( https://developers.google.com/maps/documentation/javascript/usage )
  3. Google suggère d'utiliser l'API javascript pour le géo-codage pour éviter la limite de 2500 via L'API PHP. Il est écrit "géocodage côté client, vous n'avez généralement pas à vous soucier de votre quota" ( ) https://developers.google.com/maps/articles/geocodestrat#client )

cependant, il n'est nulle part documentation Ce Que sont les limites de géocodage à travers L'API JavaScript v. 3 de Google Maps.

(cela me dérange depuis un certain temps, et j'ai fait des recherches à plus d'une occasion et je n'ai pas trouvé de réponse solide)

30
demandé sur geocodezip 2013-11-20 09:17:23

5 réponses

je travaille dans Maps pour le Soutien Aux Entreprises chez Google. Ce qui suit est mon opinion personnelle, Pas celle de Google, mais disons que je suis plutôt familier avec ce sujet!

tout d'abord, il est important de faire la distinction entre géocodage côté client (appels JavaScript à google.cartographie.Geocoder) et géocodage côté serveur (requêtes HTTP à /maps/api/geocode). Cette question et les réponses concernent spécifiquement le géocodage côté client; pour les limites Côté Serveur, voir ici . En particulier, la limite de 2500 requêtes par IP et par jour mentionnée par oft s'applique seulement au géocodage Côté Serveur, pas côté client.

donc la réponse courte est, il n'y a pas de limite de requête documentée spécifiquement pour le géocodage côté client . Une fois qu'un client a chargé la bibliothèque de L'API GoogleMaps JavaScript, il peut faire autant de requêtes géocodées qu'il le souhaite, à condition qu'elles soient faites à une vitesse raisonnable. Deux règles empiriques pour s'assurer que vous ne rencontrez pas de problèmes:

  1. initiez le géocodage en réponse à l'interaction de l'utilisateur, et vous irez bien même s'il y a de courtes sursauts de requêtes (par ex. cliquez sur un bouton pour géocoder plusieurs adresses).
  2. saisissez toutes les erreurs OVER_QUERY_LIMIT et traitez-les avec élégance (par ex. l'intervalle exponentielle). ici est quelque exemple de code en Python.

mais s'il vous plaît ne pas essayer d'occuper-boucle le géocodeur ou marteau loin à elle pendant des heures sur la fin, il y a des protections contre l'abus.

mise à JOUR

à partir de 2017 le quota côté client est calculé par rapport au quota de service web correspondant. Regardez la réponse de Christophe Roussy.

71
répondu jpatokal 2017-05-18 09:15:02

Toujours lire la dernière que vous pouvez trouver sur un officiel de site web de Google pour la bonne version de l'API, daté stackoverflow réponse n'est pas un up-to-date de référence !!!

https://developers.google.com/maps/documentation/geocoding/usage-limits

, Voici ce qu'il a dit quand j'ai écrit cette réponse:

Google Maps utilisation de L'API de géocodage Limites

2 500 demandes gratuites par jour, calculées comme la "somme 151910920 du côté client et côté serveur, les requêtes.

50 requêtes par seconde, calculées comme la somme du côté client et côté serveur, les requêtes.

Activer le pay-as-you-go de facturation pour débloquer plus de quotas:

0,50 $ US / 1000 demandes supplémentaires, jusqu'à 100 000 par jour.

en général, je pense que Google est heureux tant que les requêtes proviennent de véritables utilisateurs humains, car cela a une certaine valeur pour eux.

il y a aussi des moyens de sauvegarder quelques requêtes en cachant les résultats pour une période allant jusqu'à 30 jours: https://developers.google.com/maps/premium/optimize-web-services#optimize

7
répondu Christophe Roussy 2017-09-25 15:06:57

basé sur https://developers.google.com/maps/articles/geocodestrat ,

géocodage côté Client par le navigateur est limité par le taux par carte Geocoding est distribué à tous vos utilisateurs et échelles avec votre wiki.

alors, qu'est-ce que les limites de taux par session de carte?

comme les limites de géocodage sont par session d'utilisateur, il n'y a aucun risque que votre l'application atteindra une limite globale au fur et à mesure que votre base d'utilisateurs augmentera. Géocodage côté Client ne sera pas face à une limite de quota à moins que vous effectuez un lot de requêtes de géocodage à l'intérieur d'une session utilisateur. Par conséquent, l'exécution de géocodage côté client, vous n'avez généralement pas à vous soucier de votre quota.

Ok, Quelle est la limite? Nous y voilà

https://developers.google.com/maps/documentation/business/articles/usage_limits

avec une limite de taux ou 10 QPS (requêtes par seconde), à l'envoi du 11 demande votre application doit vérifier l'horodatage de la première demandez et attendez qu'une seconde se soit écoulée. La même chose devrait être appliquée aux limites quotidiennes.

toujours pas clair? moi aussi.

C'est la réponse que j'ai trouvée dans leur document et qui dit " limite de taux de 10 demandes par seconde"

https://developers.google.com/maps/documentation/business/webservices/quota

Je ne pense pas qu'une session utilisateur puisse envoyer 10 requêtes par seconde, donc je la considère comme illimitée.

2
répondu allenhwkim 2014-01-01 02:30:49

j'ai récemment posé cette question à propos de la bibliothèque des lieux (ou plutôt, j'ai fait des recherches et je suis arrivé à une conclusion):

sur les Lieux de la Bibliothèque pour l'API Google Maps limites de Quota

fondamentalement, il semble que les chargements de carte avec clé sont limités à 25.000 par jour par domaine (qui pourrait ne pas être bon, mais je suis assez sûr que c'est le cas).

les limites de géocodage sont limitées de la manière suivante:

2,500 si vous utilisez une clé API sans configurer la facturation 100 000 Si vous utilisez une clé API et que vous avez configuré la facturation

si vous faites du géocodage côté serveur (résultats de pré-cache ou similaire), alors votre géocodage est par domaine, et vous allez manquer de requêtes assez rapidement. (c'est à dire dans la même veine, si vous êtes en train de faire des lieux de demandes à l'aide de l'API REST de la sorte: https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key=XXXX )

Si vous utilisez la bibliothèque javascript, en utilisant la fonctionnalité autocomplete ou PlacesService comme ainsi:

service = new google.maps.Geocoder();

puis la limite (2,500 ou 100,000 respectivement), est par utilisateur final, donc vos échelles de limite avec votre base d'utilisateurs.

0
répondu Stephen Wright 2017-05-23 12:10:30

selon l'article que vous avez lié (sous quand utiliser le géocodage Côté Serveur ):

la limite de 2 500 requêtes est par adresse IP.

alors-qu'entendez-vous exactement par limite? Limite pour l'application d'hébergement, ou pour un client l'exécutant?

la déclaration ci-dessus me dit qu'il est aucune limite pour le " hôte"; Sans URL de référence clé ou exécutoire, il n'y a pas de (bon) moyen pour Google de déterminer d'où provient une requête de géocodage. C'est un peu la beauté du repos, entre autres.

il me dit aussi que même s'ils pouvaient l'appliquer, ils n'ont pas fixé de limite. Cela irait probablement à l'encontre de leur modèle d'affaires.

-3
répondu klugerama 2013-12-31 21:57:29