Présentation de l’API de géolocalisation

Cette rubrique présente l’API de géolocalisation, explique comment déterminer si cette fonction est prise en charge et décrit la protection de la confidentialité pour les utilisateurs.

Introduction

Windows Internet Explorer 9 présente un fournisseur de localisation intégré qui utilise les données de localisation Wi-Fi et les informations d’adresse IP (Internet Protocol) afin de déterminer la latitude et la longitude de l’ordinateur ou du périphérique exécutant Windows Internet Explorer. L’API de géolocalisation expose la latitude et la longitude à JavaScript dans une page Web à l’aide de l’objet geolocation qui est un objet enfant de l’objet window.navigator. L’objet geolocation permet aux pages Web d’effectuer les opérations suivantes :

  • Obtenir la position géographique actuelle à l’aide de la méthode getCurrentPosition.
  • Suivre les changements de position dans le temps à l’aide de la méthode watchPosition. Un appel à watchPosition a pour effet l’abonnement aux mises à jour permanentes de localisation, jusqu’à ce qu’un appel à clearWatch arrête le suivi des changements.
Ces deux méthodes renvoient immédiatement une valeur dès qu’elles sont appelées. La réception du résultat de l’appel de méthode est asynchrone - chacune de ces méthodes utilise un argument de méthode de rappel que vous mettez en œuvre en vue de recevoir la localisation lorsqu’elle est définie.

U simple appel à getCurrentPosition, sans détection ni vérification d’erreur, peut être similaire à la ligne de code suivante :



  window.navigator.geolocation.getCurrentPosition(show_map);

La fonction de rappel show_map reçoit les coordonnées de latitude et de longitude.


  function show_map(position) { 
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude;
    // Add code to show a map here
  }

Les rubriques suivantes contiennent des exemples de pages Web qui expliquent comment afficher la localisation :

Détection du support de géolocalisation

Avant d’utiliser l’API de géolocalisation, votre application doit vérifier si le navigateur la prend en charge. Si l’API de géolocalisation n’est pas disponible, window.navigator.geolocation sera nul. L’ exemple de code suivant vérifie la disponibilité de l’API de géolocalisation. Lorsque l’utilisateur clique sur un bouton, une fonction affiche une boîte d’alerte qui indique si la geolocation est prise en charge.


<!DOCTYPE html>

<html>
<head>
  <title>Geolocation example: Checking for geolocation support</title>
  <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Remove this line in production. -->
</head>

<body>
  <p>
    <input type="button" onclick="show_islocationenabled();" value="Is Geolocation supported?" />
  </p>
  <div></div>
  <script>
    function show_islocationenabled() {
      var str = "No, geolocation is not supported.";

      if (window.navigator.geolocation) {
        str = "Yes, geolocation is supported.";
      }

      document.getElementsByTagName('div')[0].textContent = str;
    }
  </script>
</body>
</html>

Dans l’exemple précédent, l’élément <!DOCTYPE html> en haut de la page est effectivement requis. L’API de géolocalisation est une mise en application des nouvelles normes présentées dans le document relatif à la spécification de l’API de géolocalisation W3C et Internet Explorer ne la prend en charge que dans les pages Web affichées en mode Normes IE9. Pour activer le mode Normes pour Internet Explorer 9 et les versions ultérieures, ajoutez <!doctype> directivequi déclare un type de document HTML5.


<!DOCTYPE html> 

Considérations relatives à la confidentialité

La confidentialité constitue un souci évident en cas de partage de localisation physique avec un serveur Web distant. C’est pourquoi l’ API de géolocalisation exige que les utilisateurs donnent l’autorisation à l’application Web d’accéder aux informations de localisation. Lors de la première visite d’une page Web demandant des données de géolocalisation, Internet Explorer affiche une barre de notification demandant l’accès à l’emplacement physique de l’utilisateur. Un appel à getCurrentPosition ou à watchPosition déclenche l’invite.

L’invite offre les options suivantes à l’utilisateur :

  • Autoriser une fois. La barre de notification sera affichée de nouveau lors d’une nouvelle visite du site.
  • Toujours autoriser ou Toujours refuser. Internet Explorer mémorise le choix de l’utilisateur de sorte que la barre de notification ne s’affiche plus.

La notification se bloque jusqu’à ce que l’utilisateur effectue un choix et il n’existe donc aucun risque que le site Web détermine la localisation pendant l’attente de la réponse de l’utilisateur.

Si l’utilisateur ne donne pas l’autorisation, les informations de localisation ne seront pas accessibles à l’application Web. Des appels à getCurrentPosition et à watchPosition ne déclenchent aucun rappel d’opération réussie. En cas de rappel en erreur, un code d’erreur PERMISSION_DENIED sera déclenché.

Les développeurs d’applications Web collectant des données de localisation doivent tenir compte des directives suivantes en matière de confidentialité :

  • Demander des informations de localisation uniquement si nécessaire et les utiliser uniquement pour la tâche pour laquelle elles sont fournies.
  • Supprimer les informations de localisation à la fin de la tâche pour laquelle elles ont été fournies, sauf si l’utilisateur autorise explicitement leur mémorisation.
  • Si les informations de localisation sont mémorisées sur un serveur Web, assurer la protection de ces informations contre les accès illicites et permettre aux utilisateurs de mettre à jour et de supprimer ces informations.
  • Informer que l’application collecte les données de localisation. Cette information doit comprendre une explication des exceptions éventuelles aux directives indiquées ci-dessus.

Informations de référence sur les API

Geolocation

Exemples et didacticiels

Obtention de la localisation actuelle
Suivi des changements de localisation
Gestion des erreurs
Spécification de la durée du délai d’expiration

Démonstrations du site Internet Explorer Test Drive

W3C Geolocation

Billets IEBlog

API de géolocalisation W3C dans IE9

Spécification

Geolocation API Specification

Rubriques connexes

12 idées de géolocalisation HTML5
Utilisation de la géolocalisation dans le navigateur et avec les services hébergés

 

 

Afficher:
© 2014 Microsoft