JavaScript Tutorial

API de géolocalisation


Localiser la position de l’utilisateur

L’API de géolocalisation HTML est utilisée pour obtenir la position géographique d’un utilisateur.

Comme cela peut compromettre la confidentialité, le poste n’est pas disponible à moins que l’utilisateur ne l’approuve.

Note

La géolocalisation est plus précise pour les appareils avec GPS, comme les smartphones.


Prise en charge du navigateur

L’API de géolocalisation est prise en charge dans tous les navigateurs :


Note

L’API de géolocalisation ne fonctionnera que sur des contextes sécurisés tels que HTTPS.

Si votre site est hébergé sur une origine non sécurisée (telle que HTTP), les requêtes pour obtenir l’emplacement des utilisateurs ne fonctionneront plus.


Utilisation de l’API de géolocalisation

Le getCurrentPosition() La méthode est utilisée pour renvoyer la position de l’utilisateur.

L’exemple ci-dessous renvoie la latitude et la longitude de la position de l’utilisateur :

Exemple


const x = document.getElementById(« démo »);
fonction getLocation() {
si (navigateur.géolocalisation) {
navigator.geolocation.getCurrentPosition(showPosition);
} autre {
x.innerHTML = « La géolocalisation n’est pas prise en charge par ce navigateur. »;
}
}

function showPosition(position) {
x.innerHTML = « Latitude :  » + position.coords.latitude +
« 
Longitude :  » + position.coords.longitude ;
}

Essayez-le vous-même »

Exemple expliqué :

  • Vérifiez si la géolocalisation est prise en charge
  • Si elle est prise en charge, exécutez la méthode getCurrentPosition(). Si ce n’est pas le cas, affichez un message à l’utilisateur
  • Si la méthode getCurrentPosition() réussit, elle renvoie un objet de coordonnées à la fonction spécifiée dans le paramètre (showPosition)
  • La fonction showPosition() affiche la latitude et la longitude

L’exemple ci-dessus est un script de géolocalisation très basique, sans gestion des erreurs.



Gestion des erreurs et des rejets

Le deuxième paramètre de la getCurrentPosition() La méthode est utilisée pour gérer les erreurs. Il spécifie une fonction à exécuter si elle ne parvient pas à obtenir l’emplacement de l’utilisateur :

Exemple

fonction showError (erreur) {
switch(error.code) {
erreur de cas.PERMISSION_DENIED :
x.innerHTML = « L’utilisateur a refusé la demande de géolocalisation. »
casser;
erreur de cas.POSITION_UNAVAILABLE :
x.innerHTML = « Les informations de localisation ne sont pas disponibles. »
casser;
erreur de cas.TIMEOUT :
x.innerHTML = « La demande d’obtention de la position de l’utilisateur a expiré. »
casser;
erreur de cas.UNKNOWN_ERROR :
x.innerHTML = « Une erreur inconnue s’est produite. »
casser;
}
}

Essayez-le vous-même »


Affichage du résultat sur une carte

Pour afficher le résultat sur une carte, vous devez avoir accès à un service de carte, comme Google Maps.

Dans l’exemple ci-dessous, la latitude et la longitude renvoyées sont utilisées pour afficher l’emplacement dans une carte Google (à l’aide d’une image statique) :

Exemple

function showPosition(position) {
let latlon = position.coords.latitude + « , » + position.coords.longitude ;

laissez img_url = « https://maps.googleapis.com/maps/api/staticmap?center=
« +latlon+ »&zoom=14&size=400×300&sensor=false&key=VOTRE_CLE » ;

document.getElementById(« mapholder »).innerHTML = «  » ;
}


Informations spécifiques à l’emplacement

Cette page a montré comment afficher la position d’un utilisateur sur une carte.

La géolocalisation est également très utile pour les informations spécifiques à l’emplacement, telles que :

  • Informations locales à jour
  • Affichage des points d’intérêt à proximité de l’utilisateur
  • Navigation pas à pas (GPS)

La méthode getCurrentPosition() – Retourne des données

Le getCurrentPosition() La méthode renvoie un objet en cas de succès. Les propriétés de latitude, de longitude et de précision sont toujours renvoyées. Les autres propriétés sont renvoyées si elles sont disponibles :

Propriété Retour
coordonnées.latitude La latitude sous forme de nombre décimal (toujours retourné)
coords.longitude La longitude sous forme de nombre décimal (toujours renvoyée)
coords.précision La précision de la position (toujours renvoyée)
coordonnées.altitude L’altitude en mètres au-dessus du niveau moyen de la mer (renvoyée si disponible)
coords.altitudeAccuracy La précision d’altitude de la position (renvoyée si disponible)
coords.heading Le cap en degrés dans le sens des aiguilles d’une montre à partir du nord (renvoyé si disponible)
coordonnées.vitesse La vitesse en mètres par seconde (renvoyée si disponible)
horodatage La date/heure de la réponse (renvoyée si disponible)

Objet de géolocalisation – Autres méthodes intéressantes

L’objet Geolocation possède également d’autres méthodes intéressantes :

  • watchPosition() – Renvoie la position actuelle de l’utilisateur et continue de renvoyer la position mise à jour lorsque l’utilisateur se déplace (comme le GPS dans une voiture).
  • clearWatch() – Arrête le watchPosition() méthode.

L’exemple ci-dessous montre la watchPosition() méthode. Vous avez besoin d’un appareil GPS précis pour tester cela (comme un smartphone):

Exemple

Essayez-le vous-même »

#API #géolocalisation

Articles similaires

Bouton retour en haut de la page