Selama pengembangan proyek tahun ini, saya awalnya melakukan kontak dengan pengembangan web seluler, dan saya belajar HTML5 saat berkembang. Saya terutama menggunakan teknologi seluler jQuery. Saya menemukan bahwa ini tidak cocok untuk produk internet. Sebagian besar gaya perlu ditulis ulang, dan hanya beberapa fungsi yang digunakan. Selama pengembangan web ponsel, saya terpapar pada fungsi penentuan posisi untuk pertama kalinya. Melalui mesin pencari utama, saya menemukan bahwa penentuan posisi ponsel adalah melalui penentuan posisi browser. Saat digunakan pada browser PC, prompt "apakah akan mengaktifkan fungsi penentuan posisi" akan muncul untuk pertama kalinya. Ketika Boss melihat prompt ini, dia merasa bahwa pengalaman pengguna tidak baik. Jika tidak baik, maka saya hanya akan menerapkannya dengan cara lain. Ini bukan masalah besar. Wajah bos berubah secara drastis, dan dia berkata: seharusnya tidak ada pengalaman seperti itu. Kami melakukan ini untuk terburu -buru dan merilis fitur baru sesegera mungkin.
1. Metode penentuan posisi web ponsel:
Salinan kode adalah sebagai berikut:
var getLocation = function (SuccessFunc, errorFunc) {// SuccessFunc Mendapat fungsi panggilan balik untuk penentuan posisi yang berhasil, ErrorFunc mendapatkan panggilan balik panggilan balik
// Atur kota default terlebih dahulu
var defcity = {
ID: '000001',
Nama: 'Beijing',
Tanggal: CurdateTime () // Dapatkan metode waktu saat ini
};
// Kota default
$ .cookie ('vpiao_mobile_defaultcity', json.stringify (defcity), {kedaluwarsa: 1, path: '/'});
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition (function (position) {
var lat = position.coords.latitude;
var lon = position.coords.longitude;
// var map = bmap.map baru ("wadah"); // Buat contoh peta
var point = bmap.point baru (lon, lat); // Buat koordinat titik
var gc = bmap.geocoder () baru;
gc.getLocation (point, function (rs) {
var addComp = rs.addressComponents;
var curcity = {
pengenal: '',
Nama: addComp.province,
Tanggal: CurdateTime ()
};
// Saat ini berada di kota
$ .cookie ('vpiao_mobile_currentcity', json.stringify (curcity), {kedaluwarsa: 7, path: '/'});
//alert(addComp.province + "," + addComp.city + "," + addComp.district + "," + addComp.street);
if (successfunc! = tidak terdefinisi)
SuccessFunc (AddComp);
});
},
function (error) {
switch (error.code) {
Kasus 1:
peringatan ("Layanan Lokasi Ditolak.");
merusak;
Kasus 2:
peringatan ("Informasi lokasi tidak dapat diperoleh untuk saat ini.");
merusak;
Kasus 3:
peringatan ("Dapatkan batas waktu informasi lokasi.");
merusak;
bawaan:
Peringatan ("Kesalahan Tidak Diketahui.");
merusak;
}
var curcity = {
ID: '000001',
Nama: 'Beijing',
Tanggal: CurdateTime ()
};
// Kota default
$ .cookie ('vpiao_mobile_defaultcity', json.stringify (curcity), {kedaluwarsa: 1, path: '/'});
if (errorfunc! = tidak terdefinisi)
errorfunc (error);
}, {timeout: 5000, enableHighAccuracy: true});
} kalau tidak {
Peringatan ("Browser Anda tidak mendukung mendapatkan informasi geolokasi.");
if (errorfunc! = tidak terdefinisi)
errorFunc ("Browser Anda tidak mendukung mendapatkan informasi geolokasi.");
}
};
var showposition = function (position) {
var lat = position.coords.latitude;
var lon = position.coords.longitude;
// var map = bmap.map baru ("wadah"); // Buat contoh peta
var point = bmap.point baru (lon, lat); // Buat koordinat titik
var gc = bmap.geocoder () baru;
gc.getLocation (point, function (rs) {
var addComp = rs.addressComponents;
var curcity = {
pengenal: '',
Nama: addComp.province,
Tanggal: CurdateTime ()
};
// Saat ini berada di kota
$ .cookie ('vpiao_mobile_currentcity', json.stringify (curcity), {kedaluwarsa: 7, path: '/'});
//alert(addComp.province + "," + addComp.city + "," + addComp.district + "," + addComp.street);
});
};
var showpositionError = function (error) {
switch (error.code) {
Kasus 1:
peringatan ("Layanan Lokasi Ditolak.");
merusak;
Kasus 2:
peringatan ("Informasi lokasi tidak dapat diperoleh untuk saat ini.");
merusak;
Kasus 3:
peringatan ("Dapatkan batas waktu informasi lokasi.");
merusak;
bawaan:
Peringatan ("Kesalahan Tidak Diketahui.");
merusak;
}
var curcity = {
ID: '000001',
Nama: 'Beijing',
Tanggal: CurdateTime ()
};
// Kota default
$ .cookie ('vpiao_mobile_defaultcity', json.stringify (curcity), {kedaluwarsa: 1, path: '/'});
};
Prasyaratnya adalah untuk memperkenalkan Baidu API: <skrip src = "http://api.map.baidu.com/api?v=1.4" type = "text/javascript"> </script>
2. Metode IP IMPEMPLEMEN SISI PC:
Menggunakan antarmuka yang disediakan oleh Tencent, ini tidak lagi tersedia
Salinan kode adalah sebagai berikut:
<script type = "text/javaScript" src = "http://fw.qq.com/ipaddress"> </cript>
<type skrip = "Teks/JavaScript">
document.write (ipdata [0]); // Tampilkan alamat IP
document.write (ipdata [2]); // Tampilkan simpan
document.write (ipdata [3]); // tunjukkan kota
</script>
Adopt Sina Interface: http://int.dpool.sina.com.cn/iplookup/iplookup.php?Format=js
Metode Pengujian Multi-Region: http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=127.0.0.1
Salinan kode adalah sebagai berikut:
<type skrip = "Teks/JavaScript">
$ .getScript ('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js', function (_result) {
if (remote_ip_info.ret == '1') {
alert('Country:' + remote_ip_info.country + '<BR>Province:' + remote_ip_info.province + '<BR>City:' + remote_ip_info.city + '<BR>Local:' + remote_ip_info.district + '<BR>ISP:' + remote_ip_info.isp + '<BR>Type:' + remote_ip_info.type + '<br> Lainnya:' + remote_ip_info.desc);
} kalau tidak {
Peringatan ('Tidak ada informasi alamat IP yang cocok ditemukan!');
}
});
</script>
Netease YouDAO IP Address Interface (ini harus diuji)
http://www.youdao.com/smartresult-xml/search.s?type=ip&q=ip alamat
Antarmuka permintaan taobao (dapatkan)
Salinan kode adalah sebagai berikut:
<script>
var ip = "124.127.108.133";
var url = "http://ip.taobao.com/service/getipinfo.php?ip=" + ip;
$ .getjson (url, function (json) {
var myprovince2 = json.data.area;
var mycity2 = json.data.region;
Peringatan ("Kota Anda adalah:" + MyProvince2 + MyCity2);
});
</script>
Antarmuka API Perpustakaan Alamat Pasifik
http://whois.pconline.com.cn/?ip= mediaP Alamat Alamat]
Selain itu: Google, SOHU dan antarmuka lainnya menyediakan antarmuka yang sesuai, Anda dapat mencobanya sendiri.
SOHU IP ALAMAT ALAMAT EFERTACE (default GBK): http://pv.sohu.com/cityjson
SOHU IP ALAMAT ALAMAT EFERTACE (Pengkodean dapat diatur): http://pv.sohu.com/cityjson?ie=utf-8
Antarmuka kueri alamat IP Sohu lainnya: http://txt.go.sohu.com/ip/soip
3. Dapatkan metode IP klien
Salinan kode adalah sebagai berikut:
<script>
var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&=' + math.random ();
$ .getjson (url, fungsi (data) {
peringatan (data.ip);
});
</script>
Itu saja hari ini. Masih banyak pekerjaan yang harus diselesaikan. Anda dapat mencoba antarmuka lain saat Anda punya waktu. Semua orang dipersilakan untuk datang dan memberikan metode yang lebih baik.