Google Maps
Comment connecter une clé Google Maps pour que l’app suggère des adresses pendant la saisie et enregistre la localisation (latitude et longitude) de chaque adresse.
Maps alimente le champ d’adresse des formulaires de l’app et la localisation des enregistrements qui ont une adresse. Sans la clé, rien ne casse, mais tout devient plus simple : le champ d’adresse devient un champ de texte ordinaire, sans suggestions, et l’enregistrement ne garde que le texte de l’adresse, sans latitude ni longitude. Les fonctionnalités qui dépendent de la localisation, comme la distance ou la zone de livraison, n’ont pas la donnée dont elles ont besoin.
Avant de commencer
- Plan : n’importe lequel, y compris le Free. Il faut seulement votre propre clé Google ;
- Compte Google Cloud avec la facturation activée. Google exige une carte enregistrée même pour un usage dans le quota gratuit, et sans facturation la clé est refusée ;
- Coût : l’usage est facturé par Google, sur votre compte, selon la grille tarifaire de Maps. La plateforme ne facture pas de crédit d’intégration pour les recherches d’adresse.
Pas à pas
- sur console.cloud.google.com, créez un projet (ou choisissez-en un existant) ;
- activez la facturation sur ce projet ;
- dans API et services → Bibliothèque, activez deux APIs :
- Geocoding API ;
- Places API (New). Attention au « (New) » : l’ancienne version ne convient pas, et Google ne la propose plus aux nouveaux clients depuis mars 2025 ;
- dans API et services → Identifiants → Créer des identifiants → Clé API, créez la clé et copiez-la (elle
commence par
AIza) ; - toujours sur la clé, dans Restrictions d’API, limitez l’usage aux deux APIs de l’étape 3 ;
- dans l’éditeur de l’app, onglet Intégrations, catégorie Localisation, ouvrez la carte Google Maps ;
- collez la clé dans le champ API Key et cliquez sur Enregistrer et activer.
Ne restreignez pas la clé par site
Il est courant de restreindre une clé Maps au domaine de l’app (restriction par « sites web » ou « référents HTTP »). Ici, cela casse l’intégration. La clé ne va jamais dans le navigateur des personnes qui utilisent l’app : ce sont les serveurs de Fabapp qui appellent Google, et ces appels ne portent pas l’adresse de votre site. Une clé restreinte par site est refusée pour chacun d’eux.
La bonne protection est celle de l’étape 5, qui restreint quelles APIs la clé peut utiliser. Comme la clé est conservée chiffrée sur le serveur, elle n’apparaît pas dans le code de l’app et personne ne peut la copier.
Savoir que cela a fonctionné
- à l’enregistrement, la plateforme fait une recherche de test sur une adresse réelle. Si Google accepte, « Google Maps est actif. » s’affiche et la carte passe à Connectée ;
- dans l’app, saisissez une adresse dans un formulaire : les suggestions doivent apparaître pendant la saisie.
La recherche d’adresse ne fonctionne que pour les personnes connectées à l’app. C’est voulu : chaque recherche consomme le quota de votre projet Google, et l’ouvrir aux visiteurs anonymes serait une invitation aux abus.
Problèmes courants
Le test de la carte affiche la réponse de Google lui-même, et le code entre parenthèses indique la cause :
| La carte indique | Que faire |
|---|---|
| REQUEST_DENIED | vérifiez que la Geocoding API est activée et que le projet a la facturation activée |
| OVER_DAILY_LIMIT | c’est presque toujours la facturation : le compte de facturation doit être actif et avoir un moyen de paiement valide |
| OVER_QUERY_LIMIT | le quota de la clé est dépassé : attendez le renouvellement du quota ou augmentez la limite dans le projet |
- Je viens de créer la clé et elle est refusée. Une nouvelle clé met quelques minutes à devenir valide. Attendez et enregistrez de nouveau ;
- La carte est Connectée, mais les suggestions n’apparaissent pas. Le test de la carte n’utilise que la Geocoding API. Les suggestions utilisent la Places API (New) : vérifiez qu’elle est activée dans le même projet, et que ce n’est pas l’ancienne version que vous avez activée ;
- Cela a marché un temps puis s’est arrêté. Vérifiez que la facturation du projet Google est toujours active et que la clé n’a pas reçu une restriction par site.