Obter localização GPS no navegador da web

Estou desenvolvendo um site para celular, lá eu integrei o Google Maps, eu preciso preencher o campo ‘De’ do Google Maps dinamicamente.

É possível obter a localização GPS do navegador da Web e preenchê-la no campo “De” de um Google Map dinamicamente?

Se você usar a API de geolocalização , seria tão simples quanto usar o código a seguir.

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

Você também pode usar a API de local do cliente do Google .

Esse problema foi discutido em É possível detectar a localização GPS de um navegador móvel? e obter dados de posição do navegador para dispositivos móveis . Você pode encontrar mais informações lá.

Veja a discussão Como obter coordenadas de GPS no navegador

Lá você tem o link para exemplo de aplicativo Onde estou? que funciona em dispositivos móveis. Eu testei no meu Android e ele começou o módulo GPS para obter as coordenadas atuais. Você pode analisar a fonte no exemplo vivo.

Eu fiz o código QR para access rápido a partir do celular:

Onde estou QR code

Para dar uma resposta mais específica. O HTML5 permite que você obtenha as coordenadas geográficas e faz um trabalho bastante decente. No geral, o suporte do navegador para a geolocalização é muito bom, todos os principais navegadores, exceto o IE7 e o IE8 (e o Opera Mini). O IE9 faz o trabalho, mas é o pior desempenho. Checkout caniuse.com:

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

Além disso, você precisa da aprovação de seu usuário para acessar a localização deles, então certifique-se de verificar isso e dar algumas instruções decentes, caso ele esteja desligado. Especialmente para as permissions de ativação do iPhone no Safari é um pouco incômodo.

Use isso e você encontrará todas as informações em http://www.w3schools.com/html/html5_geolocation.asp

  

Existe a API GeoLocation , mas o suporte ao navegador é bastante reduzido no momento. A maioria dos sites que se preocupam com essas coisas usam um database GeoIP (com as condições habituais sobre a imprecisão de tal sistema). Você também pode procurar serviços de terceiros que exijam cooperação do usuário, como o FireEagle .

Vamos usar as últimas funções da flecha gorda :

 navigator.geolocation.getCurrentPosition((loc) => { console.log('The location in lat lon format is: [', loc.coords.latitude, ',', loc.coords.longitude, ']'); }) 

Observável

 /* 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 { return Observable.create((observer) => { const watchID = navigator.geolocation.watchPosition((position: Position) => { observer.next(position); }); return () => { navigator.geolocation.clearWatch(watchID); }; }); } ngOnDestroy() { this.sub.unsubscribe(); }