Komentar: Artikel ini terutama memperkenalkan penggunaan kode HTML5 untuk mendapatkan lokasi geografis. Kode implementasi spesifik adalah sebagai berikut dan tangkapan layar dilampirkan. Teman yang membutuhkannya bisa merujuknya.
/**
* Berikut ini adalah kode HTML5 untuk mendapatkan lokasi geografis
*/
function getLocation () {
// Periksa apakah browser mendukung akuisisi lokasi geografis
if (navigator.geolocation) {
// Jika Anda mendukung akuisisi lokasi geografis, Anda akan menghubungi ShowPosition () dengan sukses, dan hubungi Showerror jika Anda gagal.
// waspada ("berusaha untuk mendapatkan lokasi ...");
var config = {enableHighAccuracy: true, timeout: 5000, Maximumage: 30000};
navigator.geolocation.getCurrentPosition (showposition, showerror, config);
} kalau tidak {
// alert ("Geolokasi tidak didukung oleh browser ini.");
peringatan ("Lokasi gagal, pengguna telah menonaktifkan akses lokasi");
}
}
/**
* Dapatkan lokasi alamat dengan sukses
*/
function showposition (position) {
// Dapatkan lintang dan bujur
var x = position.coords.latitude;
var y = position.coords.longitude;
// Konfigurasikan Baidu Geocoding API
var url = "http://api.map.baidu.com/geocoder/v2/?ak=c93b5178d7a8ebdb830b9b557abce78b" + +
"& callback = rendereverse" +
"& location =" + x + "," + y +
"& output = json" +
"& pois = 0";
$ .Ajax ({
Ketik: "Dapatkan",
DataType: "jsonp",
URL: URL,
Success: function (json) {
if (json == null || typeof (json) == "tidak terdefinisi") {
kembali;
}
if (json.status! = "0") {
kembali;
}
setaddress (json.result.addressComponent);
},
ERROR: FUNGSI (XMLHTTPREQUEST, TextStatus, Errorthrown) {
peringatan ("[x:" + x + ", y:" + y + "] Lokasi alamat gagal diambil, silakan pilih secara manual alamatnya");
}
});
}
/**
* Gagal mendapatkan lokasi alamat [belum diproses]
*/
function showerror (error) {
switch (error.code) {
case error.permission_denied:
peringatan ("Lokasi gagal, pengguna menolak untuk meminta geolokasi");
//x.innerhtml = "Pengguna menolak permintaan geolokasi. [Pengguna ditolak permintaan geolokasi]"
merusak;
case error.position_unavailable:
Peringatan ("Lokasi Gagal, Informasi Lokasi Tidak Tersedia");
//x.innerhtml = "Informasi lokasi tidak tersedia. [Informasi lokasi tidak tersedia]"
merusak;
case error.timeout:
Peringatan ("Lokasi Gagal, Permintaan untuk Mendapatkan Lokasi Pengguna Jangka waktu");
//x.innerHtml = "Permintaan untuk mendapatkan waktu pengguna habis. [Permintaan untuk mendapatkan waktu pengguna habis]"
merusak;
case error.unknown_error:
Peringatan ("Lokasi Gagal, Sistem Posisi Gagal");
//x.innerhtml = "Terjadi kesalahan yang tidak diketahui. [Kesalahan Tidak Diketahui]"
merusak;
}
}
/**
* Atur alamatnya
*/
function setaddress (json) {
var position = document.geteLementById ("txtposition");
//Propinsi
var provinsi = json.province;
//kota
var city = json.city;
//daerah
var distrik = json.district;
province = province.replace ('City', '');
Posisi.Value = Provinsi + "," + City + "," + District;
position.style.color = 'hitam';
}