Obtenez la localisation GPS à partir du navigateur web

je développe un site web mobile basé, là j'ai intégré Google Maps, je dois remplir le champ " de " de Google Maps de manière dynamique.

est-il possible d'obtenir la localisation GPS à partir d'un navigateur web et de la remplir dynamiquement dans le champ "From" D'une carte Google?

142
demandé sur Michał Perłakowski 2010-04-05 11:13:14

7 réponses

voir la discussion Comment obtenir les coordonnées GPS dans le navigateur

là vous avez le lien à l'application exemple 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 fait QR code pour l'accès rapide à partir de mobile:

Where Am I QR code

45
répondu Danubian Sailor 2011-11-16 10:41:59

pour donner une réponse un peu plus précise. HTML5 vous permet d'obtenir les coordonnées géographiques, et il fait un travail assez décent. Dans l'ensemble, la prise en charge de la géolocalisation par le navigateur est assez bonne, tous les navigateurs principaux sauf ie7 et ie8 (et opera mini). IE9 fait le travail, mais est le moins performant. Caisse caniuse.com:

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

Également vous besoin de l'approbation de l'utilisateur pour accéder à leur emplacement, afin de faire je suis sûr que vous vérifiez et donnez des instructions décentes au cas où il est éteint. Surtout pour Iphone activer les permissions pour Safari est un peu encombrant.

20
répondu Tosh 2013-12-16 11:21:29

utilisez ceci, et vous trouverez toutes les informations à 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>
8
répondu Ema.H 2016-11-25 09:49:55

il y a la API de géolocalisation , mais le support du navigateur est plutôt mince sur le terrain à l'heure actuelle. La plupart des sites qui se soucient de telles choses utilisent une base de données GeoIP (avec les réserves habituelles sur l'inexactitude d'un tel système). Vous pouvez également consulter les services de tiers nécessitant la coopération des utilisateurs tels que Fireagle .

4
répondu Quentin 2010-04-05 07:22:59

utilisons la dernière fonctions fat arrow :

navigator.geolocation.getCurrentPosition((loc) => {
  console.log('The location in lat lon format is: [', loc.coords.latitude, ',', loc.coords.longitude, ']');
})
0
répondu student 2018-04-16 10:42:28

Observables

/*
  function geo_success(position) {
    do_something(position.coords.latitude, position.coords.longitude);
  }

  function geo_error() {
    alert("Sorry, no position available.");
  }

  var geo_options = {
    enableHighAccuracy: true,
    maximumAge        : 30000,
    timeout           : 27000
  };

  var wpid = navigator.geolocation.watchPosition(geo_success, geo_error, geo_options);
  */
  getLocation(): Observable<Position> {
    return Observable.create((observer) => {
      const watchID = navigator.geolocation.watchPosition((position: Position) => {
        observer.next(position);
      });
      return () => {
        navigator.geolocation.clearWatch(watchID);
      };
    });
  }

  ngOnDestroy() {
    this.sub.unsubscribe();
  }
0
répondu robert king 2018-04-18 07:21:16