Optimiser l'utilisation des services Web

Remarque : Il n'est plus possible de s'inscrire au forfait Premium Google Maps Platform, qui n'est plus disponible non plus pour les nouveaux clients.

Présentation

Si votre application dépasse les limites d'utilisation pour un service Web Google Maps Platform, celui-ci affiche un message d'erreur. Si votre application continue de dépasser ces limites, elle risque de ne pas pouvoir accéder au service Web et, dans certains cas, de recevoir des réponses "HTTP 403 Refusé".

Si les requêtes de services Web de votre application reçoivent des messages d'erreur, vous pouvez réduire l'utilisation en optimisant l'efficacité des applications au niveau des services Web.

Avant de commencer

Avant d'optimiser l'utilisation des services Web de votre application, vérifiez que vous utilisez le service adapté à votre situation et la bonne licence d'API Google Maps.

Valider votre cas d'utilisation

Les services Web Google Maps Platform sont mieux adaptés aux applications qui ne nécessitent pas de saisie en temps réel des utilisateurs ou lorsqu’un navigateur Web n’est pas utilisé. Par exemple, vous devez utiliser des services Web si votre application utilise un ensemble de données indépendant de l'entrée utilisateur (par exemple, un ensemble fixe d'adresses sur un site Web immobilier qui doivent être géocodées.

Notez qu'avec les services Web, la limite de requêtes par minute (RPM) s'applique Licence du forfait Premium, quel que soit le nombre d'adresses IP de requêtes sont envoyées.

D'autre part, les services côté client disponibles avec l'API Maps JavaScript sont limités à un taux par session de navigateur, afin de répartir les requêtes entre tous vos utilisateurs et de les adapter au nombre d'utilisateurs. De ce fait, les services côté client sont mieux adaptés aux applications qui géocodent les adresses saisies par l'utilisateur en temps réel, comme un outil de localisation de magasin qui recherche des magasins à proximité de l'adresse du domicile de l'utilisateur.

Pour en savoir plus sur l'utilisation des services Web, consultez la page Stratégies de geocoding. Les recommandations de ce document sont propres au geocoding, mais elles s'appliquent à tous les services Web. Elles vous expliquent dans quels cas il est préférable d'utiliser des services Web côté serveur ou leurs équivalents côté client.

Optimiser l'utilisation des services Web

Pour utiliser les services Web plus efficacement, vous pouvez réduire leur utilisation en n'envoyant des requêtes que lorsque cela est nécessaire et en répartissant l'utilisation uniformément pour ne pas dépasser les limites.

Mettre en cache les résultats

Les sections 3.2.3.a et b des conditions d'utilisation de Google Maps Platform stipulent que vous ne devez pas précharger, indexer, stocker ni mettre en cache du contenu, sauf conformément aux conditions limitées énoncées dans les conditions d'utilisation.

Notez que l'identifiant de lieu, qui permet d'identifier un lieu de façon unique, n'est pas soumis à la restriction de mise en cache. Vous pouvez donc stocker les identifiants de lieu indéfiniment.

Limiter les requêtes

Pour éviter de dépasser les limites d'utilisation, vous pouvez configurer votre application pour qu'elle régule les requêtes, en les plaçant dans une file d'attente qui consigne l'heure à laquelle elles sont envoyées. Si votre application reçoit une demande supplémentaire au-delà de la limite du nombre de RPM, ajustez le rythme de vos requêtes. Dans votre code, ajoutez un délai d'attente de **`S`** secondes entre les requêtes. Si la requête génère toujours une erreur de quota, doublez le délai d'attente, puis envoyez une autre requête. Continuez à ajuster le délai d'attente jusqu'à ce que la requête s'affiche sans erreur.

Même avec la régulation, les applications peuvent continuer de recevoir des réponses associées au code d'état OVER_QUERY_LIMIT. Si tel est le cas, configurez votre application pour insérer un délai court (20 ms) et réessayez.