Commentaire: Cet article présente principalement l'utilisation du code HTML5 pour obtenir une emplacement géographique. Le code d'implémentation spécifique est le suivant et les captures d'écran sont jointes. Les amis qui en ont besoin peuvent y faire référence.
/ **
* Ce qui suit est le code HTML5 pour obtenir l'emplacement géographique
* /
fonction getLocation () {
// Vérifiez si le navigateur prend en charge l'acquisition de l'emplacement géographique
if (navigator.geolocation) {
// Si vous soutenez l'acquisition de l'emplacement géographique, vous appellerez avec succès ShowPosition () et appellerez Downror si vous échouez.
// alerte ("s'efforce d'obtenir l'emplacement ...");
var config = {enableHighAccuratie: true, timeout: 5000, maximum: 30000};
Navigator.Geolocation.getCurrentPosition (showPosition, showerror, config);
} autre {
// alerte ("La géolocalisation n'est pas prise en charge par ce navigateur.");
alert ("l'emplacement a échoué, l'utilisateur a l'accès à l'emplacement désactivé");
}
}
/ **
* Obtenez l'emplacement d'adresse avec succès
* /
Fonction ShowPosition (position) {
// Obtenez la latitude et la longitude
var x = position.coords.Latitude;
var y = position.coords.longitude;
// Configurer l'API de géocodage Baidu
var url = "http://api.map.baidu.com/geocoder/v2/?ak=c93b5178d7a8ebdb830b9b557abce78b" +
"& callback = renderReverse" +
"& location =" + x + "," + y +
"& output = json" +
"& pois = 0";
$ .ajax ({
Type: "Get",
type de données: "JSONP",
URL: URL,
Succès: fonction (JSON) {
if (json == null || typeof (JSON) == "Undefined") {
retour;
}
if (json.status! = "0") {
retour;
}
setAddress (json.result.addressComponent);
},
Erreur: fonction (xmlHttpRequest, TextStatus, Errorthrown) {
alert ("[x:" + x + ", y:" + y + "] L'emplacement d'adresse n'a pas été récupéré, veuillez sélectionner manuellement l'adresse");
}
});
}
/ **
* Impossible d'obtenir l'emplacement d'adresse [non traité]
* /
fonction showerror (erreur) {
commutateur (error.code) {
caser error.permission_denided:
alert ("l'emplacement a échoué, l'utilisateur refuse de demander la géolocalisation");
//x.innerhtml = "L'utilisateur a refusé la demande de géolocalisation. [L'utilisateur a refusé la géolocalisation de la demande]"
casser;
caser error.position_unavailable:
alert ("Échec de l'emplacement, les informations de localisation ne sont pas disponibles");
//x.innerhtml = "Les informations de localisation sont indisponibles. [Les informations de localisation sont indisponibles]"
casser;
Erreur de cas.Timeout:
alert ("l'emplacement a échoué, demande d'obtenir l'emplacement de l'utilisateur chronométré");
//x.innerhtml = "La demande d'emplacement de l'utilisateur a chronométré. [Demande d'emplacement de l'utilisateur a chronométré]"
casser;
Case Error.unknown_error:
alert ("Échec de l'emplacement, le système de positionnement a échoué");
//x.innerhtml = "Une erreur inconnue s'est produite. [Erreur inconnue]"
casser;
}
}
/ **
* Définissez l'adresse
* /
fonction setaddress (json) {
var position = document.getElementById ("txtPosition");
//Province
Var Province = JSON.Province;
//ville
var ville = json.city;
//district
Var District = JSON.District;
province = province.replace ('ville', '');
position.value = province + "," + ville + "," + district;
position.style.color = 'noir';
}