Latest web development tutorials

HTML5 geopositioning

HTML5 Geolocation (geopositioning) usado para localizar a localização do usuário.


Localize a posição do usuário

HTML5 Geolocation API para obter a localização do usuário.

Tendo em vista esse recurso pode violar a privacidade dos usuários, a menos que o usuário concorda em contrário, as informações de localização do usuário não está disponível.


Suporte a navegadores

Internet ExplorerFirefoxOperaGoogle ChromeSafari

Internet Explorer 9 +, Firefox, Chrome, Safari e Opera apoio Geolocation (localização geográfica).

Nota: Geolocation (geopositioning) Para dispositivos com GPS, como o iPhone, geopositioning mais precisa.


HTML5 - Use a segmentação geo-

Use o método getCurrentPosition () para obter a localização do usuário.

O exemplo a seguir é um exemplo de geolocalização simples, o usuário pode retornar à latitude localização e longitude:

Exemplos

var x = document.getElementById ( "demo");
getLocation function ()
{
Se (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition (showPosition);
}
mais
{
x.innerHTML = "Este navegador não suporta ficar localização.";
}
}

showPosition função (posição)
{
x.innerHTML = "Lat:" + + position.coords.latitude
"<br> Longitude:" + position.coords.longitude;
}

tente »

exemplos de análise:

  • É testado para geopositioning
  • Se for suportado, execute o método getCurrentPosition (). Se não, ele exibe uma mensagem para o usuário.
  • Se getCurrentPosition () for bem sucedida, a função para retornar os parâmetros especificados em um coordenadas alvo showPosition
  • showPosition () função recupera e exibe a latitude e longitude

O exemplo acima é um script muito básico geopositioning manuseio, livre de erros.


Tratamento de erros e rejeitado

O método segundo parâmetro getCurrentPosition () para o tratamento de erros. Ele especifica quando a função get a ser executado quando a localização do usuário falhou:

Exemplos

showError função (erro)
{
switch (error.code)
{
caso error.PERMISSION_DENIED:
x.innerHTML = "usuário se recusou a entrar pedido de localização."
break;
caso error.POSITION_UNAVAILABLE:
x.innerHTML = "informações de localização não está disponível."
break;
caso error.TIMEOUT:
x.innerHTML = "local de solicitação do usuário expirou."
break;
caso error.UNKNOWN_ERROR:
x.innerHTML = "Erro desconhecido."
break;
}
}

tente »

Código de erro:

  • Permissão negada - usuário não tem permissão geopositioning
  • Posição indisponíveis - Não é possível obter a posição atual
  • Timeout - A operação expirou

Mostrar resultados em mapa

Para exibir os resultados em um mapa, você precisa de acesso pode usar a latitude ea longitude de serviços de mapas, como o Google Maps ou Baidu mapa:

Exemplos

showPosition função (posição)
{
var Latlon = position.coords.latitude + "," + position.coords.longitude;

var img_url = "http://maps.googleapis.com/maps/api/staticmap?center="
+ Latlon + "& zoom = 14 & size = 400x300 & sensor = false";
document.getElementById ( "mapholder") innerHTML = "<img src = '" + img_url + ""> ".;
}

tente »

No exemplo acima, usamos os dados de latitude e longitude devolvidos pela posição de exibição (usando imagens estáticas) no Google Maps.

roteiro Google Maps
O link acima mostra como usar um script para exibir um mapa interativo com um marcador, zoom e opções de arrasto.


Para a localização informação dada

Esta página demonstra como exibir a localização do usuário em um mapa. Contudo informações de geolocalização para um determinado local também é muito útil.

exemplo:

  • Atualizar as informações locais
  • pontos de exibição de interesse ao redor do usuário
  • carro sistema de navegação interativa (GPS)

getCurrentPosition () Método - dados de retorno

T se bem sucedida, getCurrentPosition () retorna um objeto. Sempre retorna latitude, longitude e precisão propriedades. Se estiver disponível, a seguinte propriedade adicional é retornado.

属性 描述
coords.latitude 十进制数的纬度
coords.longitude 十进制数的经度
coords.accuracy 位置精度
coords.altitude 海拔,海平面以上以米计
coords.altitudeAccuracy 位置的海拔精度
coords.heading 方向,从正北开始以度计
coords.speed 速度,以米/每秒计
timestamp 响应的日期/时间


Geolocation objeto - outros métodos interessantes

watchPosition () - Retorna a posição atual do usuário, e continuar a retornar a posição atualizada (como o GPS em um carro) quando o usuário move.

clearWatch () - Parar watchPosition () Método

O exemplo a seguir mostra método watchPosition (). Você precisa de um dispositivo GPS precisa para testar os casos (como o iPhone):

Exemplos

var x = document.getElementById ( "demo");
getLocation function ()
{
Se (navigator.geolocation)
{
navigator.geolocation.watchPosition (showPosition);
}
mais
{
x.innerHTML = "Este navegador não suporta ficar localização.";
}
}
showPosition função (posição)
{
x.innerHTML = "Lat:" + + position.coords.latitude
"<br> Longitude:" + position.coords.longitude;
}

tente »