170 votes

Obtenir la localisation GPS à partir du navigateur web

Je suis en train de développer un site web mobile sur lequel j'ai intégré Google Maps. J'ai besoin de remplir le champ "De" de Google Maps de manière dynamique.

Est-il possible d'obtenir la position GPS à partir d'un navigateur Web et de la remplir dynamiquement dans le champ "De" d'une carte Google ?

2 votes

Quels sont les mobiles que vous comptez prendre en charge ?

0 votes

Je veux prendre en charge tous les navigateurs mobiles, mais l'i-phone est la priorité absolue

0 votes

Vous feriez mieux d'écrire une application native, car elle permettra une intégration plus étroite avec le matériel, lorsqu'il est disponible.

204voto

dochoffiday Points 3010

Si vous utilisez le API de géolocalisation il suffirait d'utiliser le code suivant.

navigator.geolocation.getCurrentPosition(function(location) {
  console.log(location.coords.latitude);
  console.log(location.coords.longitude);
  console.log(location.coords.accuracy);
});

Vous pouvez également utiliser L'API de localisation des clients de Google .

Cette question a été examinée dans Est-il possible de détecter la position GPS d'un navigateur mobile ? y Obtenir des données de position à partir d'un navigateur mobile . Vous pouvez y trouver plus d'informations.

0 votes

L'API de localisation du client de Google mentionnée existe-t-elle toujours ? Le lien fourni renvoie à Google Loader

1 votes

Je ne la vois pas sur cette page comme l'une des API disponibles. - Vous pouvez peut-être utiliser l'API Google Latitude : code.google.com/apis/latitude - Il est ainsi possible d'obtenir l'emplacement actuel du client : code.google.com/apis/latitude/v1/

2 votes

Pour les futurs lecteurs, la précision est mesurée en mètres .

43voto

Lukasz Points 9471

Voir la discussion Comment obtenir des coordonnées GPS dans le navigateur

Voici le lien vers l'exemple d'application Où suis-je ? qui fonctionne sur les appareils mobiles. Je l'ai testé sur mon Android et il a démarré le module GPS pour obtenir les coordonnées actuelles. Vous pouvez analyser la source sur l'exemple vivant.

J'ai créé un code QR pour un accès rapide depuis un mobile :

Where Am I QR code

21voto

Tosh Points 876

Pour donner une réponse un peu plus spécifique. HTML5 vous permet d'obtenir les coordonnées géographiques, et il fait un travail assez décent. Globalement, la prise en charge de la géolocalisation par les navigateurs est plutôt bonne, tous les principaux navigateurs sauf IE7 et IE8 (et Opera Mini). IE9 fait le travail mais est le moins performant. Consultez le site caniuse.com :

http://caniuse.com/#search=geol

Vous devez également obtenir l'autorisation de l'utilisateur pour accéder à sa localisation. Vérifiez-la et donnez des instructions appropriées au cas où elle serait désactivée. Pour l'Iphone en particulier, l'activation des autorisations pour Safari est un peu fastidieuse.

0 votes

dotnetcurry.com/aspnet-mvc/782/ est une référence pratique pour la mise en œuvre dans l'environnement asp.net mvc

15voto

Ema.H Points 279

Utilisez-le, et vous trouverez toutes les informations à l'adresse suivante http://www.w3schools.com/html/html5_geolocation.asp

<script>
var x = document.getElementById("demo");
function getLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition);
    } else {
        x.innerHTML = "Geolocation is not supported by this browser.";
    }
}
function showPosition(position) {
    x.innerHTML = "Latitude: " + position.coords.latitude + 
    "<br>Longitude: " + position.coords.longitude; 
}
</script>

1 votes

Remarque : getCurrentPosition() et watchPosition() ne fonctionnent plus sur les origines non sécurisées. Pour utiliser cette fonctionnalité, vous devez envisager de basculer votre application vers une origine sécurisée, telle que HTTPS.

4voto

Quentin Points 325526

Il y a le API de géolocalisation mais la prise en charge par les navigateurs est plutôt mince à l'heure actuelle. La plupart des sites qui s'intéressent à ce genre de choses utilisent une base de données GeoIP (avec les réserves habituelles sur l'imprécision d'un tel système). Vous pouvez également vous tourner vers des services tiers nécessitant la coopération de l'utilisateur, tels que FireEagle .

1 votes

Merci beaucoup pour votre réponse rapide. si possible, pouvez-vous me donner d'autres conseils...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X