Geolocalização é uma API da Web no padrão HTML5. Você pode usá-la para obter as informações de localização atual (coordenadas) do dispositivo. Esta API possui três métodos: getCurrentPosition, watchPosition e clearWatch. os dois métodos restantes requerem Use juntos!
Como usar:Verificação de compatibilidade do navegador:
A API é publicada através do objeto navigator.geolocation Somente quando este objeto existe seu serviço de geolocalização pode ser utilizado.
if (navigator.geolocation) { // O código de posicionamento está escrito aqui} else { alert('A geolocalização não é suportada em seu navegador')}
Obtenha a localização atual do usuário:
Use o método getCurrentLocation para obter informações de localização do usuário. Este método possui três parâmetros:
Lista de parâmetros | tipo | ilustrar |
lidar com sucesso | Função | Chame a função handleSuccess em caso de sucesso |
identificadorError | Função | Chamar a função handleError em caso de falha |
opções | Objeto | Parâmetros de inicialização |
// Parâmetros de inicialização const options = { // Alta precisão: true / false enableHighAccuracy: true, // Tempo máximo de espera pela unidade de resposta: milissegundos timeout: 5 * 1000, // O local de cache mais longo que o aplicativo está disposto a aceitar Tempo MaximumAge: 0}// Função de retorno de chamada de sucesso: os dados contêm informações de localização const handleSuccess = data => console.log(data)// Função de retorno de chamada de falha: o erro contém informações de erro const handleError = erro => console.log(error)if (navigator.geolocation) { // O código de posicionamento está escrito aqui navigator.geolocation.getCurrentPosition(handleSuccess, handleError, options)} else { alert('Geolocation não é compatível com seu navegador') }
Aqui está o código com mais detalhes:
const handleSuccess = data => { const { coords, // Carimbo de data e hora das informações de localização // Carimbo de data e hora quando as informações de localização são obtidas com sucesso} = dados const { precisão, // Precisão do resultado retornado (metros) altitude, // Em relação à horizontal plane Altitude altitudeAccuracy, // Retorna a direção de precisão da altitude (metros), // A direção de deslocamento do dispositivo host, no sentido horário a partir da latitude norte, // Latitude longitude, // Velocidade de longitude // A velocidade de deslocamento do dispositivo} = coordenadas // Imprima e veja console.log('timestamp =', timestamp) console.log('accuracy =', Precision) console.log('altitude =', altitude) console .log( 'altitudeAccuracy =', altitudeAccuracy) console.log('heading =', rumo) console.log('latitude =', latitude) console.log('longitude =', longitude) console.log('speed =', speed)}const handleError = error => { switch (error.code) { case 1: console.log('Solicitação de serviço de localização rejeitada') break case 2: console.log(' The informações de localização não podem ser obtidas temporariamente') break case 3: console.log('Timeout para obter informações') break case 4: console.log('Unknown error') break }}const opt = { // Alta precisão: verdadeiro/falso enableHighAccuracy: verdadeiro, // Tempo máximo de espera por uma resposta Unidade: milissegundos timeout: 5 * 1000, // A idade máxima do local de cache que o aplicativo está disposto a aceitar maximumAge: 0} if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(handleSuccess , handleError, opt) } else { alert('A geolocalização não é suportada em seu navegador')}
O texto acima é todo o conteúdo deste artigo. Espero que seja útil para o estudo de todos. Também espero que todos apoiem a Rede VeVb Wulin.