最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用JS獲取當(dāng)前地理位置方法匯總

 更新時(shí)間:2014年12月18日 08:49:53   投稿:hebedich  
這篇文章主要介紹了使用JS獲取當(dāng)前地理位置方法匯總,需要的朋友可以參考下

今年的項(xiàng)目開發(fā)中,初步接觸了移動(dòng)端WEB開發(fā),也就邊學(xué)習(xí)HTML5邊開發(fā),主要使用了JQuery Mobile技術(shù),發(fā)現(xiàn)這個(gè)不適合做互聯(lián)網(wǎng)產(chǎn)品,大部分樣式都需要重寫,只用了部分功能。手機(jī)端WEB開發(fā)過程中第一次接觸了定位功能,通過各大搜索引擎發(fā)現(xiàn)手機(jī)端定位都是通過瀏覽器的定位,而用在PC端瀏覽器第一次會(huì)彈出提示“是否開啟定位功能”,Boss看到這個(gè)提示,卻覺得對用戶的體驗(yàn)效果不好,不好那我換一種方式實(shí)現(xiàn)不就好了,這又不是多大的事,而Boss的臉色就大變,就說:不應(yīng)該有這樣的體驗(yàn)。我們這樣做不都是為了趕時(shí)間,能夠盡快將新功能發(fā)布嘛。

  1.手機(jī)WEB定位方法:

復(fù)制代碼 代碼如下:

var getLocation = function (successFunc, errorFunc) { //successFunc獲取定位成功回調(diào)函數(shù),errorFunc獲取定位失敗回調(diào)
    //首先設(shè)置默認(rèn)城市
    var defCity = {
        id: '000001',
        name: '北京市',
        date: curDateTime()//獲取當(dāng)前時(shí)間方法
    };
    //默認(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實(shí)例
            var point = new BMap.Point(lon, lat); // 創(chuàng)建點(diǎn)坐標(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("暫時(shí)獲取不到位置信息。");
                    break;
                case 3:
                    alert("獲取位置信息超時(shí)。");
                    break;
                default:
                    alert("未知錯(cuò)誤。");
                    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實(shí)例
    var point = new BMap.Point(lon, lat); // 創(chuàng)建點(diǎn)坐標(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("暫時(shí)獲取不到位置信息。");
            break;
        case 3:
            alert("獲取位置信息超時(shí)。");
            break;
        default:
            alert("未知錯(cuò)誤。");
            break;
    }
    var curCity = {
        id: '000001',
        name: '北京市',
        date: curDateTime()
    };
    //默認(rèn)城市
    $.cookie('VPIAO_MOBILE_DEFAULTCITY', JSON.stringify(curCity), { expires: 1, path: '/' });
};

前提要引入百度API:<script src="

  2.PC端通過IP實(shí)現(xiàn)方法:

  采用騰訊提供的接口,這個(gè)目前已經(jīng)不能使用了  

復(fù)制代碼 代碼如下:

  采用新浪接口: http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js

  多地域測試方法:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=127.0.0.1

復(fù)制代碼 代碼如下:

<script type="text/javascript">
        $.getScript('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js', function(_result) {
            if (remote_ip_info.ret == '1') {
                alert('國家:' + remote_ip_info.country + '<BR>省:' + remote_ip_info.province + '<BR>市:' + remote_ip_info.city + '<BR>區(qū):' + remote_ip_info.district + '<BR>ISP:' + remote_ip_info.isp + '<BR>類型:' + remote_ip_info.type + '<BR>其他:' + remote_ip_info.desc);
            } else {
                alert('沒有找到匹配的IP地址信息!');
            }
        });
</script>

  網(wǎng)易有道IP地址接口(這個(gè)有待測試)

  http://www.youdao.com/smartresult-xml/search.s?type=ip&q=IP地址

     淘寶請求接口(GET)

復(fù)制代碼 代碼如下:

  太平洋IP地址庫API接口

  http://whois.pconline.com.cn/?ip=[ip地址字符串]

  另外:還有g(shù)oogle、搜狐等提供對應(yīng)的接口,大家可以自己試一試。

  搜狐IP地址查詢接口(默認(rèn)GBK):http://pv.sohu.com/cityjson

     搜狐IP地址查詢接口(可設(shè)置編碼):http://pv.sohu.com/cityjson?ie=utf-8

     搜狐另外的IP地址查詢接口:http://txt.go.sohu.com/ip/soip

  3.獲取客戶端IP方法

復(fù)制代碼 代碼如下:

<script>
var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_=' + Math.random();
            $.getJSON(url, function(data) {
                alert(data.Ip);
            });
</script>
  

  今天就寫到這吧,還有好多工作需要去完成,等有時(shí)間了可以試試其它接口。歡迎大家來拍磚,提供更好的方法。

相關(guān)文章

  • 詳解如何愉快的在微信小程序中使用SVG圖標(biāo)

    詳解如何愉快的在微信小程序中使用SVG圖標(biāo)

    這篇文章主要介紹了詳解如何愉快的在微信小程序中使用SVG圖標(biāo),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 提高團(tuán)隊(duì)代碼質(zhì)量利器ESLint及Prettier詳解

    提高團(tuán)隊(duì)代碼質(zhì)量利器ESLint及Prettier詳解

    這篇文章主要為大家介紹了提高團(tuán)隊(duì)代碼質(zhì)量利器ESLint及Prettier使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • JGrid中拖動(dòng)改變列寬的腳本 原型

    JGrid中拖動(dòng)改變列寬的腳本 原型

    JGrid 中,可以拖動(dòng)改變列寬,簡單的原理就是改變相應(yīng)的 col 的 style.width 今天看到skybot 同學(xué)在問這個(gè)問題,就又把這個(gè)功能拿出來,單獨(dú)實(shí)現(xiàn)了一下(有改進(jìn))
    2008-07-07
  • Javascript中Array用法實(shí)例分析

    Javascript中Array用法實(shí)例分析

    這篇文章主要介紹了Javascript中Array用法,實(shí)例分析了javascript中數(shù)組的遍歷、傳值、比較等常用技巧,需要的朋友可以參考下
    2015-06-06
  • JavaScript 中“...” 的多種用途及代碼實(shí)例

    JavaScript 中“...” 的多種用途及代碼實(shí)例

    擴(kuò)展運(yùn)算符(Spread Operator)和剩余參數(shù)(Rest Parameters)是JavaScript中的兩個(gè)非常有用的特性,實(shí)際應(yīng)用中,這些功能可以用于合并數(shù)組、復(fù)制對象屬性等操作,極大地提高了JavaScript編程的便利性和功能性,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • javascript頁面上使用動(dòng)態(tài)時(shí)間具體實(shí)現(xiàn)

    javascript頁面上使用動(dòng)態(tài)時(shí)間具體實(shí)現(xiàn)

    這篇文章主要介紹了javascript在頁面上使用動(dòng)態(tài)時(shí)間實(shí)現(xiàn)示例,需要的朋友可以參考下
    2014-03-03
  • JS正則表達(dá)式判斷有效數(shù)實(shí)例代碼

    JS正則表達(dá)式判斷有效數(shù)實(shí)例代碼

    這篇文章主要介紹了JS正則表達(dá)式判斷有效數(shù)實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • 淺析javascript中的Event事件

    淺析javascript中的Event事件

    本文主要對javascript中的(Event)事件進(jìn)行介紹,文章篇尾舉了幾個(gè)案例:方塊隨著鼠標(biāo)移動(dòng);輸入框文字提示;仿select控件;留言本;自定義右鍵菜單;鍵盤控制div運(yùn)動(dòng)。需要的朋友可以看下
    2016-12-12
  • 可能是全網(wǎng)最詳細(xì)小程序中使用echarts的教程

    可能是全網(wǎng)最詳細(xì)小程序中使用echarts的教程

    在開發(fā)微信小程序時(shí),有需求需要使用到柱狀圖,餅圖等圖表,下面這篇文章主要給大家介紹了關(guān)于小程序中使用echarts的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • js中小數(shù)轉(zhuǎn)換整數(shù)的方法

    js中小數(shù)轉(zhuǎn)換整數(shù)的方法

    js中小數(shù)轉(zhuǎn)換整數(shù)的方法有很多,有下退、上進(jìn)、四舍五入等等,需要的朋友可以了解下本文
    2014-01-01

最新評論

新源县| 南木林县| 安泽县| 金沙县| 双鸭山市| 灵武市| 萍乡市| 沾益县| 遂平县| 山阳县| 揭阳市| 略阳县| 尉犁县| 和政县| 二手房| 巴青县| 龙门县| 图木舒克市| 新干县| 固阳县| 玉门市| 宾川县| 屏山县| 南城县| 定南县| 阜城县| 九寨沟县| 井陉县| 仁布县| 海宁市| 泰来县| 绥阳县| 永年县| 乐平市| 比如县| 开封市| 昭平县| 家居| 泰和县| 揭阳市| 信宜市|