API Geolocation (géolocalisation)

Contexte sécurisé: Cette fonctionnalité est uniquement disponible dans des contextes sécurisés (HTTPS), pour certains navigateurs qui la prennent en charge.

L'API Geolocation permet à une personne, si elle le veut, de fournir sa position géographique à une application web. Pour respecter la vie privée, la permission est demandée auprès de l'utilisatrice ou de l'utilisateur avant la récupération des informations de géolocalisation.

Les extensions web qui souhaitent utiliser l'objet Geolocation doivent ajouter la permission geolocation à leur manifeste. Le système d'exploitation demandera alors à la personne la permission d'accéder à l'emplacement lors de la première fois.

Concepts et utilisation

On souhaite parfois utiliser les informations géographiques d'une personne, par exemple pour indiquer son emplacement sur une carte, ou pour afficher des informations pertinentes par rapport au lieu actuel.

L'API Geolocation s'utilise en appelant navigator.geolocation. Cela va déclencher la demande de permission avec le navigateur. Lorsque la permission est donnée d'accéder aux données de géolocalisation, le navigateur utilisera le meilleur outil à sa disposition sur l'appareil pour déterminer cette position (par exemple, le GPS).

La position géographique peut alors être utilisée dans le code avec :

Geolocation.getCurrentPosition()

Qui récupère l'emplacement actuel de l'appareil.

Geolocation.watchPosition()

Qui enregistre une fonction de rappel qui sera appelée à chaque fois que l'emplacement évolue, en renvoyant la position à jour.

Dans les deux cas, ces méthodes utilisent jusqu'à trois arguments :

  • Une fonction de rappel obligatoire pour les cas de succès.
    • Si la récupération des informations d'emplacement s'est déroulée sans problème, la fonction de rappel est appelée avec un seul paramètre qui est un objet GeolocationPosition qui fournit un accès aux données d'emplacement.
  • Une fonction de rappel optionnelle pour les cas d'erreur.
    • Si la récupération des informations d'emplacement a échoué, la fonction de rappel est appelée avec un seul paramètre qui est un objet GeolocationPositionError qui fournit des informations sur l'erreur.
  • Un objet optionnel qui fournit des options pour la récupération des données d'emplacement.

Pour plus d'informations sur l'utilisation de cette API, nous vous conseillons de lire le guide Utiliser l'API Geolocation (en-US).

Interfaces

Geolocation

Il s'agit de la classe principale de cette API. Elle contient des méthodes pour récupérer la position actuelle, suivre les modifications de position, arrêter de suivre les déplacements.

GeolocationPosition

Représente la position d'une personne. Une instance de GeolocationPosition est renvoyée lors d'un appel réussi à l'une des méthodes de Geolocation, dans une fonction de rappel de réussite. Il contient un horodatage et une instance de GeolocationCoordinates.

GeolocationCoordinates

Représente les coordonnées de la position d'une personne. Une instance de GeolocationCoordinates contient les informations de latitude, longitude et d'autres informations importantes relatives à l'emplacement.

GeolocationPositionError

Un objet GeolocationPositionError est renvoyé par un des appels infructueux à l'une des méthodes de Geolocation, dans une fonction de rappel en cas d'erreur. Il contient un code d'erreur et un message.

Le point d'entrée pour cette API. Elle renvoie une instance de Geolocation à partir de laquelle on peut accéder aux autres fonctionnalités.

Exemples

Voir le guide Utiliser l'API Geolocation (en-US) pour un exemple de code.

Spécifications

Specification
Geolocation API
# geolocation_interface

Compatibilité des navigateurs

BCD tables only load in the browser

Disponibilité

Comme la détermination de l'emplacement à partir des réseaux Wi-Fi souvent fournie par Google, l'API Geolocation de base pourrait être indisponible en Chine. Auquel cas, vous pouvez utiliser des fournisseurs tiers comme Baidu, Autonavi, ou Tencent. Ces services utilisent l'adresse IP de la personne et/ou une application locale pour déterminer l'emplacement.

Voir aussi