JS獲取當(dāng)前地理位置的方法
本文實例為大家分享了JS獲取當(dāng)前地理位置方法的具體代碼,供大家參考,具體內(nèi)容如下
1.手機(jī)定位
var getLocation = function (successFunc, errorFunc) { //successFunc獲取定位成功回調(diào)函數(shù),errorFunc獲取定位失敗回調(diào) //首先設(shè)置默認(rèn)城市 var defCity = { id: '000001', name: '北京市', date: curDateTime()//獲取當(dāng)前時間方法 }; //默認(rèn)城市 $.cookie('VPIAO_MOBILE_DEFAULTCITY', JSON.stringify(defCity), { expires: 1, path: '/' }); if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function (position) { var lat = position.coords.latitude; var lon = position.coords.longitude; //var map = new BMap.Map("container"); // 創(chuàng)建Map實例 var point = new BMap.Point(lon, lat); // 創(chuàng)建點坐標(biāo) var gc = new BMap.Geocoder(); gc.getLocation(point, function (rs) { var addComp = rs.addressComponents; var curCity = { id: '', name: addComp.province, date: curDateTime() }; //當(dāng)前定位城市 $.cookie('VPIAO_MOBILE_CURRENTCITY', JSON.stringify(curCity), { expires: 7, path: '/' }); //alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street); if (successFunc != undefined) successFunc(addComp); }); }, function (error) { switch (error.code) { case 1: alert("位置服務(wù)被拒絕。"); break; case 2: alert("暫時獲取不到位置信息。"); break; case 3: alert("獲取位置信息超時。"); break; default: alert("未知錯誤。"); break; } var curCity = { id: '000001', name: '北京市', date: curDateTime() }; //默認(rèn)城市 $.cookie('VPIAO_MOBILE_DEFAULTCITY', JSON.stringify(curCity), { expires: 1, path: '/' }); if (errorFunc != undefined) errorFunc(error); }, { timeout: 5000, enableHighAccuracy: true }); } else { alert("你的瀏覽器不支持獲取地理位置信息。"); if (errorFunc != undefined) errorFunc("你的瀏覽器不支持獲取地理位置信息。"); } }; var showPosition = function (position) { var lat = position.coords.latitude; var lon = position.coords.longitude; //var map = new BMap.Map("container"); // 創(chuàng)建Map實例 var point = new BMap.Point(lon, lat); // 創(chuàng)建點坐標(biāo) var gc = new BMap.Geocoder(); gc.getLocation(point, function (rs) { var addComp = rs.addressComponents; var curCity = { id: '', name: addComp.province, date: curDateTime() }; //當(dāng)前定位城市 $.cookie('VPIAO_MOBILE_CURRENTCITY', JSON.stringify(curCity), { expires: 7, path: '/' }); //alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street); }); }; var showPositionError = function (error) { switch (error.code) { case 1: alert("位置服務(wù)被拒絕。"); break; case 2: alert("暫時獲取不到位置信息。"); break; case 3: alert("獲取位置信息超時。"); break; default: alert("未知錯誤。"); break; } var curCity = { id: '000001', name: '北京市', date: curDateTime() }; //默認(rèn)城市 $.cookie('VPIAO_MOBILE_DEFAULTCITY', JSON.stringify(curCity), { expires: 1, path: '/' }); };
前提要引入百度API: <script src="http://api.map.baidu.com/api?v=1.4" type="text/javascript"></script>
2.獲取客戶端IP方法
<script> var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_=' + Math.random(); $.getJSON(url, function(data) { alert(data.Ip); }); </script>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Lerna入門之管理TypeScript monorepo教程
這篇文章主要為大家介紹了Lerna入門之管理TypeScript monorepo教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11javascript實現(xiàn)將數(shù)字轉(zhuǎn)成千分位的方法小結(jié)【5種方式】
這篇文章主要介紹了javascript實現(xiàn)將數(shù)字轉(zhuǎn)成千分位的方法,結(jié)合實例形式分析了5種常用的數(shù)字轉(zhuǎn)換的常用方法,涉及字符串與正則操作的相關(guān)技巧,需要的朋友可以參考下2016-12-12JavaScript 正則表達(dá)式中g(shù)lobal模式的特性
這篇文章主要介紹了JavaScript 正則表達(dá)式中g(shù)lobal模式的特性 的相關(guān)資料,需要的朋友可以參考下2016-02-02BootStrap 模態(tài)框?qū)崿F(xiàn)刷新網(wǎng)頁并關(guān)閉功能
這篇文章主要介紹了BootStrap 模態(tài)框?qū)崿F(xiàn)刷新網(wǎng)頁并關(guān)閉的功能,實現(xiàn)方法簡單易懂,需要的朋友可以參考下2017-01-01JavaScript實例--創(chuàng)建一個歡迎cookie
這篇文章主要介紹了JavaScript實例--創(chuàng)建一個歡迎cookie,2022-01-01