Ce guide décrit plusieurs stratégies pour optimiser la façon dont vous utilisez les API Google Maps en termes de sécurité, de performances et de consommation.
Sécurité
Consulter les bonnes pratiques liées à la sécurité
Les clés API sont des identifiants spécifiquement associés à un projet, qui méritent les mêmes précautions que les ID utilisateur et les mots de passe. Consultez les bonnes pratiques de sécurité pour les API afin de protéger vos clés contre tout usage non intentionnel pouvant entraîner une utilisation excessive du quota et des frais inattendus pour votre compte.
Utiliser des clés API pour accéder aux API Google Maps
Les clés API constituent la méthode d'authentification privilégiée pour accéder aux API Google Maps. Même si les ID client sont encore acceptés, les clés API utilisent des fonctionnalités de sécurité plus précises et peuvent être ajustées pour fonctionner avec des adresses Web, des adresses IP et des SDK pour mobile spécifiques (Android et iOS). Pour savoir comment créer et sécuriser une clé API, consultez la page "Utiliser une clé API" pour chaque API ou SDK que vous utilisez. (par exemple, pour l'API Maps JavaScript, consultez sa page dans Utiliser une clé API).
Performances
Utiliser un intervalle exponentiel entre les tentatives pour gérer les erreurs
Si vos applications rencontrent des erreurs liées à un trop grand nombre de tentatives d'appel d'une API en peu de temps (erreurs de quota, par exemple), vous pouvez utiliser une temporisation de retransmission pour permettre le traitement des requêtes.
La temporisation de retransmission est particulièrement utile pour les erreurs 500. Pour en savoir plus, consultez la section Gérer les codes d'état HTTP renvoyés.
Plus précisément, 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, multipliez le délai d'attente par deux, puis envoyez une autre requête. Continuez à ajuster le délai d'attente jusqu'à ce que la requête s'affiche sans erreur.
Envoyer des requêtes d'interaction utilisateur à la demande
Les requêtes API qui incluent une interaction utilisateur ne doivent être envoyées qu'à la demande.
Le système doit donc attendre que l'utilisateur final effectue une action (on-click
, par exemple) pour lancer la requête API, puis utiliser les résultats pour charger une carte, définir une destination ou afficher les informations appropriées. Utiliser une approche à la demande évite d'envoyer des requêtes inutiles aux API, ce qui réduit la consommation des API.
Éviter d'afficher le contenu en superposition pendant qu'une carte est déplacée
Évitez d'utiliser la méthode Draw()
pour afficher du contenu personnalisé en superposition sur une carte alors qu'un utilisateur pourrait être en train de la déplacer. Sachant que la carte est redessinée chaque fois qu'un utilisateur la déplace, y insérer simultanément un contenu en superposition risque de provoquer un retard ou un stuttering visuel. Le contenu en superposition ne doit être ajouté ou supprimé qu'une fois que l'utilisateur a cessé d'interagir avec la carte (à l'aide d'un zoom ou d'un panoramique).
Éviter les opérations intensives dans les méthodes Draw
En règle générale, il est recommandé d'éviter les opérations qui exigent des performances élevées et ne sont pas liées au dessin dans une méthode Draw()
. Par exemple, évitez ce qui suit dans le code de la méthode Draw()
:
- Requêtes affichant une grande quantité de contenu
- Nombreuses modifications apportées aux données affichées
- Manipulation de nombreux éléments DOM (Document Object Model)
Ces opérations peuvent ralentir les performances et provoquer un retard ou un stuttering visuel lors du rendu de la carte.
Utiliser des images matricielles pour les repères
Utilisez des images matricielles (au format PNG ou JPG, par exemple) lorsque vous ajoutez des repères pour identifier un emplacement sur une carte. Évitez d'utiliser des images SVG (Scalable Vector Graphics), car leur affichage peut ralentir le chargement lorsque la carte est redessinée.
Optimiser les repères
L'optimisation permet d'améliorer les performances en affichant de nombreux repères sous la forme d'un seul élément statique. Cette fonctionnalité est utile lorsqu'un grand nombre de repères est requis. Par défaut, l'API Maps JavaScript décide si un repère est optimisé ou non. Lorsqu'il y a beaucoup de repères, l'API Maps JavaScript tente d'optimiser leur affichage. Dans certains cas, ce n'est pas possible, car l'API Maps JavaScript a parfois besoin d'afficher les repères sans les optimiser. Désactivez l'affichage optimisé des fichiers PNG ou GIF animés, ou lorsque chaque repère doit être affiché en tant qu'élément DOM distinct.
Créer des groupes pour gérer l'affichage des repères
Pour vous aider à gérer l'affichage des repères afin d'identifier des emplacements sur une carte, créez un groupe de repères à l'aide de la bibliothèque Marker Clusterer, qui inclut les options suivantes :
- Taille de la grille, pour spécifier le nombre de repères à regrouper
- Zoom maximal, pour spécifier le niveau de zoom maximal dans lequel afficher le groupe
- Chemins des images graphiques à utiliser comme icônes des repères
Consommation
Pour savoir comment gérer vos coûts Google Maps Platform, y compris créer des budgets, modifier des quotas et définir des alertes, consultez la section Gérer les coûts.