Le blog francophone consacré
aux technologies Esri

API de Géolocalisation et applications web ArcGIS - 1/3


Les versions récentes des navigateurs web ont introduit des nouveautés fonctionnelles issues d'HTML5 (Safari 5, Firefox 4, Chrome 10, IE9, …) qui peuvent intéresser les concepteurs d'applications SIG. C'est le cas, par exemple, de l'API de Géolocalisation qui permet d'obtenir (avec plus ou moins de précision) les coordonnées latitude-longitude-altitude de l'utilisateur actuellement connecté à votre application web.

Comment ça marche?

Pour obtenir la position de l'internaute, l'API de Géolocalisation des navigateurs combine différentes techniques dont le résultat sera plus ou moins précis. Ces technologies sont les suivantes:

  • Par satellite GPS (sur les appareils mobiles)
  • Par triangulation GSM/3G aussi appelée Cell-ID (sur les appareils mobiles)
  • Par triangulation WiFi
  • Par adresse IP

Les deux premières peuvent être relativement précises (de quelques dizaines de mètres à quelques mètres) mais ne peuvent être mise en œuvre que sur des plateformes mobiles (Smartphones et Tablettes). Les deux suivantes dépendent de requêtes formulées à des bases de données, elles sont donc moins précises mais peuvent être utilisées dans les navigateurs classiques sur des postes fixes.

HTML5 propose donc un modèle d'objets pour accéder aux fonctions de géolocalisation. On dispose d'objet navigator.geolocation qui permet d'exécuter la méthode getCurrentPosition(). Ceci permet permet la récupération d'un objet position dont les propriétés permettent d'extraire la position retournée par la fonction de Géolocalisation. On notera également que cet objet permet d'obtenir des informations sur la précision planimétrique et altimétrique de cette position. Ci-dessous un exemple typique d'utilisation de l'API de Géolocalisation:


Exécuter cet exemple.

Si vous testez cet exemple dans différents navigateurs vous obtiendrez des positions légèrement différentes. Ceci s'explique par le fait qu'ils n'utilisent pas les mêmes bases de données pour établir la correspondance entre votre adresse IP (ou les points d'accès Wifi) et leur localisation géographique.


Pour utiliser ces fonctions, il faudra que votre navigateur supporte l'API de Géolocalisation. Le tableau suivant fait état des niveaux de support des différents navigateurs. 


Utiliser cette API de Géolocalisation avec l'API ArcGIS for JavaScript ?

Ces fonctions de Géolocalisation étant directement accessible en HTML5 via des fonctions JavaScript, l'intégration avec l'API ArcGIS for JavaScript est directe. Les positions retournées par l'API de Géolocalisation sont exprimées dans le système WGS84, vous pourrez donc les convertir directement en Web Based Mercator à l'aide de la fonction esri.geometry.geographicToWebMercator de l'API ArcGIS, si vous utilisez les fonds de carte ArcGIS Online ou Bing Maps. Si vous utilisez d'autres système de coordonnées pour votre carte, vous utiliserez alors un Geometry Service (celui de votre propre serveur ArcGIS ou celui d'ArcGIS Online).

Ci-dessous un exemple d'application web ArcGIS développée avec l'API ArcGIS for JavaScript utilisant l'API de Géolocalisation. Vous pourrez télécharger le code source ici.




Dans les deux prochains articles, je poursuivrai sur l'intégration de cette API de Géolocalisation avec l'API ArcGIS for Flex et l'API ArcGIS for Silverlight.


Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article: