HERE, une alternative à l’API Google Maps pour les développeurs

15/02/2019

Aucun commentaire

Qu’est-ce que l’API Geocoder by HERE ?

 

HERE Technologies est un organisme qui fournit des données et des services de cartographie et de localisation à quiconque souhaite en disposer.

HERE propose un grand nombre d’API offrant un accès rapide aux donnés de localisation. Ces API peuvent fournir des cartes, des itinéraires, un géocodage, des lieux, des informations de positionnement, de circulation, de transit ou encore météorologiques.

 

logo-Here

Pourquoi l’utiliser ?

Chez TroisPointZéro, nous avons décidé de travailler avec son API Geocoder. Cette dernière permet, entre autres, de récupérer des adresses urbaines, les coordonnées correspondant à des lieux (latitude/longitude), pour une utilisation sur une carte par exemple, etc. HERE comporte également un certain nombre d’autres fonctionnalités. Vous trouverez plus d’informations en consultant directement le site.

Faites des économies…

Si vous êtes développeur, ou si vous êtes détenteur d’une solution applicative nécessitant la récupération de données de localisation, vous vous êtes certainement tourné vers les API Google Maps.

Vous avez donc déjà dû être consterné par la décision prise par Google l’année dernière, à savoir propulser son service comme une solution payante avec “sa facturation à la requête” et lui donnant au passage un nouveau nom : “Google Maps Platform”.

Une note salée vous attend désormais sagement à la fin du mois…

 

google-map-payant

L’API Google Maps est devenue payante depuis le 16 juillet 2018

 

Même si HERE propose des services “Premium” et donc payants, sa version gratuite permet d’effectuer 250K requêtes par mois (offrant ainsi un matelas confortable), et propose également certaines de ses API en version gratuite, comme “Geocoder autocomplete API” (pour faire de l’auto-complétion des lieux saisis dans un champ de recherche).

En voilà une bonne nouvelle pour nos portes-monnaies…

TUTO – utilisation de l’API Geocoder au sein d’une application :

L’API de géocodeur permet à l’utilisateur de saisir une adresse (ou le nom d’un point de repère ou encore un lieu précis). L’API renvoie les coordonnées géographiques de cet emplacement, la latitude et la longitude permettant une précision cartographique, etc.

Comment démarrer ?

  • Allez sur le site de HERE, puis enregistrez-vous en tant que développeur.
  • Obtenez une paire de clés d’application pour interférer avec les services HERE mis à disposition.
  • Passez en revue les API disponibles (une larmichette devrait alors couler sur votre joue devant tant de possibilités…).
  • Sélectionnez l’API appropriée pour votre scénario. Dans le cas de ce mini tuto que je vous propose, nous utiliserons ces 2 API :
    1. Geocoder autocomplete API (REST) (pour l’autocompletion des lieux)
    2. Geocoder API (REST) (pour la récupération des coordonnées)

Codons un peu…

PS : je suppose que vous avez déjà installé un environnement de développement sur votre machine (un serveur web comme Apache2 est requis). Utilisez une solution comme WAMP pour une installation rapide si vous n’en possédez pas…

Dans ce mini TUTO, nous allons créer une page HTML avec un champ de recherche.

Le principe sera le suivant :

  • lorsque l’utilisateur saisit une valeur dans ce champ, une liste de suggestions apparaîtra en bas. Vous l’avez compris, ces suggestions seront donc des lieux, des adresses, etc… que nous retournera l’API Geocoder autocomplete en fonction de la valeur saisie.
  • lorsque l’utilisateur sélectionne une suggestion, les coordonnées du lieu sélectionné (latitude/longitude) seront affichés sur le côté. Nous utilisons pour cela l’API Geocoder.

Étape 1 : création du fichier index.html

Dans votre nouveau mini projet, créez un fichier index.html et copiez/collez le code suivant : 

  

Étape 2 : création des scripts javascript : 

Ces scripts vont nous permettre de faire appel aux API HERE par le biais de requêtes AJAX. Nous utiliserons pour cela deux méthodes :

  • les requêtes ajax dites “classiques”
  • l’objet XMLHttpRequest

Au même endroit que votre fichier `index.html`, créez un répertoire que vous nommerez `js`. Créez deux nouveaux fichiers javascript à l’intérieur de ce répertoire :

  • geocoding_suggestions.js
  • geocoding_position.js

PS : Si vous souhaitez modifier ces noms, pensez alors à les modifier également dans le fichier `index.html`.

Contenu du fichier geocoding_suggestions.js :


Contenu du fichier geocoding_position.js :

IMPORTANT : pensez à renseigner VOS clés d’API en haut de ces fichiers.

Conclusion

Et voilà, nous obtenons ainsi un système d’auto-complétion des lieux français et une récupération des coordonnées pour un lieu précis.

Un mécanisme que nous pouvons donc aussi retrouver en utilisant l’API Google Maps (ou plutôt Google Maps Platform). Mais en optant pour HERE, vous ferez à coup sûr des économies et vous travaillerez avec des API d’aussi bonne qualité et très simple d’utilisation.

Sources

Je vous laisse le code source du projet ici. Les sources sont encapsulées dans un petit docker simulant l’environnement nécessaire pour faire tourner du static… 🙂