Comentário: Este artigo apresenta principalmente o uso do código HTML5 para obter localização geográfica. O código de implementação específico é o seguinte e as capturas de tela são anexadas. Amigos que precisam podem se referir a ele.
/**
* O seguinte é o código HTML5 para obter a localização geográfica
*/
função getLocation () {
// Verifique se o navegador suporta a aquisição de localização geográfica
if (navegator.geolocation) {
// Se você apoiar a aquisição de localização geográfica, chamará o showPosition () com sucesso e ligará para o Showerror se falhar.
// alert ("Livera para obter localização ...");
var config = {enableHighAccuracy: True, Timeout: 5000, Maximumage: 30000};
Navigator.geolocation.GetCurrentPosition (ShowPosition, Showerror, Config);
} outro {
// alert ("A geolocalização não é suportada por este navegador.");
Alert ("Local falhou, o usuário desativou o acesso ao local");
}
}
/**
* Obtenha o local do endereço com sucesso
*/
função exibição (posição) {
// Obtenha a latitude e longitude
var x = position.coords.latitude;
var y = position.coords.longitude;
// Configurar API de geocodificação do Baidu
var url = "http://api.map.baidu.com/geocoder/v2/?ak=c93b5178d7a8ebdb830b9b557abce78b" +
"& retorno de chamada = renderververse" +
"& location =" + x + "," + y +
"& output = json" +
"& Pois = 0";
$ .ajax ({
Tipo: "Get",
Datatype: "jsonp",
URL: URL,
Sucesso: função (JSON) {
if (json == null || typeof (json) == "indefinido") {
retornar;
}
if (json.status! = "0") {
retornar;
}
setAddress (json.result.addressComponent);
},
Erro: função (xmlhttprequest, textstatus, ertrorthrown) {
alerta ("[x:" + x + ", y:" + y + "] O local do endereço falhou ao ser recuperado, selecione manualmente o endereço");
}
});
}
/**
* Falha ao obter o local do endereço [ainda não processado]
*/
Função Showerror (Erro) {
switch (error.code) {
Error de caso.permission_denied:
alerta ("Local falhou, o usuário se recusa a solicitar a geolocalização");
//x.innerhtml = "O usuário negou o pedido de geolocalização. [Usuário negou a solicitação geolocalocation]"
quebrar;
Error de caso.Position_Unavilable:
alerta ("Falha na localização, informações de localização não estão disponíveis");
//x.innerhtml = "Informações de localização não estão disponíveis. [Informações de localização não estão disponíveis]"
quebrar;
Erro de caso.Timeout:
Alert ("Local falhou, solicita a obtenção de localização do usuário cronometrada");
//x.innerhtml = "A solicitação para obter o local do local cronometrado. [Solicitar para obter o cronometramento do local do usuário]"
quebrar;
Error de caso.unknown_error:
alerta ("Falha na localização, falha no sistema de posicionamento");
//x.innerhtml = "Ocorreu um erro desconhecido. [Erro desconhecido]"
quebrar;
}
}
/**
* Defina o endereço
*/
função setAddress (json) {
var position = document.getElementById ("txtPosition");
//Província
Var Província = JSON.province;
//cidade
var cidade = json.city;
//distrito
var distrito = json.district;
província = província.Replace ('cidade', '');
position.value = Província + "," + City + "," + distrito;
position.style.color = 'preto';
}