Rumah  >  Artikel  >  hujung hadapan web  >  Menggunakan JS untuk mendapatkan kaedah lokasi geografi semasa kemahiran summary_javascript

Menggunakan JS untuk mendapatkan kaedah lokasi geografi semasa kemahiran summary_javascript

WBOY
WBOYasal
2016-05-16 16:25:591188semak imbas

Semasa pembangunan projek tahun ini, saya mula-mula bersentuhan dengan pembangunan WEB mudah alih. Saya membangunkannya semasa mempelajari HTML5, terutamanya menggunakan teknologi JQuery Mobile. Saya mendapati bahawa ini tidak sesuai untuk produk Internet. Hanya gunakan beberapa fungsi. Saya bersentuhan dengan fungsi penentududukan buat kali pertama semasa proses pembangunan WEB mudah alih Melalui enjin carian utama, saya mendapati bahawa kedudukan pada telefon mudah alih adalah melalui pelayar semasa menggunakan pelayar pada PC untuk kali pertama. gesaan akan muncul berkata "Adakah anda mahu mendayakan fungsi penentududukan?" . Ini bukan masalah besar. Ekspresi Bos berubah secara drastik dan dia berkata: Tidak. Bukankah kita melakukan ini semua untuk menyegerakan masa supaya kita boleh mengeluarkan ciri baharu secepat mungkin?

1. Kaedah penentududukan WEB telefon mudah alih:

Salin kod Kod adalah seperti berikut:

var getLocation = function (successFunc, errorFunc) { //successFunc mendapat fungsi panggilan balik kejayaan kedudukan, errorFunc mendapat panggilan balik kegagalan kedudukan
// Mula-mula tetapkan bandar lalai
var defCity = {
         id: '000001',
         nama: 'Bandar Beijing',
Tarikh: curDateTime()//Mendapatkan kaedah masa semasa
};
//Bandar lalai
$.cookie('VPIAO_MOBILE_DEFAULTCITY', JSON.stringify(defCity), { tamat tempoh: 1, laluan: '/' });
Jika (navigator.geolocation) {
         navigator.geolocation.getCurrentPosition(fungsi (kedudukan) {
            var lat = position.coords.latitud;
            var lon = position.coords.longitud;
//var map = new BMap.Map("bekas"); //Buat contoh Peta
              var point = new BMap.Point(lon, lat); // Cipta koordinat titik
            var gc = BMap.Geocoder();
gc.getLocation(titik, fungsi (rs) {
              var addComp = rs.addressComponents;
              var curCity = {
                    id: '',
Nama: addComp.province,
tarikh: curDateTime()
                };
//Bandar lokasi semasa
                    $.cookie('VPIAO_MOBILE_CURRENTCITY', JSON.stringify(curCity), { tamat tempoh: 7, laluan: '/' });
//alert(addComp.province ", " addComp.city ", " addComp.district ", " addComp.street);
Jika (successFunc != undefined)
                       successFunc(addComp);
            });
},
fungsi (ralat) {
                suis (error.code) {
               kes 1:
alert("Perkhidmatan lokasi ditolak.");
rehat;
                kes 2:
alert("Maklumat lokasi tidak boleh diperolehi buat sementara waktu.");
rehat;
                kes 3:
alert("Tamat masa untuk mendapatkan maklumat lokasi.");
rehat;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            lalai:
alert("Ralat tidak diketahui.");
rehat;
            }
          var curCity = {
                  id: '000001',
                  nama: 'Beijing',
tarikh: curDateTime()
            };
//Bandar lalai
                $.cookie('VPIAO_MOBILE_DEFAULTCITY', JSON.stringify(curCity), { luput: 1, laluan: '/' });
                  jika (errorFunc != undefined)
               errorFunc(error);
}, { tamat masa: 5000, enableHighAccuracy: true });
} lain {
alert("Pelayar anda tidak menyokong mendapatkan maklumat lokasi geografi.");
Jika (errorFunc != undefined)
​​​​​​ errorFunc("Pelayar anda tidak menyokong mendapatkan maklumat lokasi geografi.");
}
};
var showPosition = fungsi (kedudukan) {
var lat = position.coords.latitude;
var lon = position.coords.longitud;
//var map = new BMap.Map("container"); // Cipta contoh Peta
var point = new BMap.Point(lon, lat); // Cipta koordinat titik
var gc = BMap.Geocoder();
gc.getLocation(titik, fungsi (rs) {
        var addComp = rs.addressComponents;
      var curCity = {
             id: '',
               nama: addComp.province,
tarikh: curDateTime()
        };
//Bandar lokasi semasa
            $.cookie('VPIAO_MOBILE_CURRENTCITY', JSON.stringify(curCity), { tamat tempoh: 7, laluan: '/' });
​​​​ //alert(addComp.province ", " addComp.city ", " addComp.district ", " addComp.street);
});
};
var showPositionError = fungsi (ralat) {
Tukar (error.code) {
kes 1:
alert("Perkhidmatan lokasi ditolak.");
             rehat;
kes 2:
alert("Maklumat lokasi tidak boleh diperolehi buat sementara waktu.");
             rehat;
kes 3:
alert("Tamat masa untuk mendapatkan maklumat lokasi.");
             rehat;
           lalai:
alert("Ralat tidak diketahui.");
             rehat;
}
var curCity = {
         id: '000001',
         nama: 'Bandar Beijing',
tarikh: curDateTime()
};
//Bandar lalai
$.cookie('VPIAO_MOBILE_DEFAULTCITY', JSON.stringify(curCity), { tamat tempoh: 1, laluan: '/' });
};

Prasyaratnya ialah memperkenalkan API Baidu: