wed端 百度地圖獲取當(dāng)前所在城市

更新了一版源葫,首頁也會自動定位并提示切換
https://github.com/MiuMiu-S/Locate-current-City


效果.png

正在獲取.png
失敗.png

功能說明:

????點(diǎn)擊獲取城市,獲取當(dāng)前位置的經(jīng)緯度,然后轉(zhuǎn)換為城市信息
????獲取成功正常顯示
????超過10秒未獲取到或者獲取失敗顯示“獲取超時點(diǎn)擊重試”
????如果獲取到的城市不在城市列表中,顯示“獲取失敗點(diǎn)擊重試”

HTML
<div class="position" id="baidu_geo">點(diǎn)擊獲取城市</div>
<div class="city">
    <p>當(dāng)前定位城市</p>
    <span class="info baidu_map" id="baidu_geo"><span>
    <img src="../../images/v2/Loading_icon2-2.gif">正在獲取定位</span></span>
    <input type="hidden" value="">
    <img src="../../images/v2/indexrefresh@2x.png" style="display: none;"> <!--為了避免網(wǎng)路不佳情況下,定位失敗圖標(biāo)請求不到-->
</div>
JS
<script src="http://api.map.baidu.com/api?v=2.0&amp;ak=申請的key"></script>
<script src="http://api.map.baidu.com/getscript?v=2.0&amp;ak=申請的key&amp;services=&amp;" type="text/javascript"></script>
var t, city;
function refresh() {
    $("#baidu_geo").addClass("baidu_map");
    $(".baidu_map").html('<span><img src="../../images/v2/Loading_icon2-2.gif">正在獲取定位</span>');
    setTimeout(function() {
        if ($("#baidu_geo").next("input").attr("value").length == 0) {
            $("#baidu_geo").removeClass("baidu_map").html('<span onclick="refresh()" style="color: #f05156;"><img src="../../images/v2/indexrefresh@2x.png">定位獲取超時,請點(diǎn)擊重試</span>');
        }
    }, 10000);
    baiduPosition(35);
}
$$('.position').on('click', function() {
    myApp.popup('.popup-about2');
    // 定位城市信息
    clearTimeout(t);
    $("#baidu_geo").next("input").attr("value", "");
    $("#baidu_geo").addClass("baidu_map");
    $(".baidu_map").html('<span><img src="../../images/v2/Loading_icon2-2.gif">正在獲取定位</span>');
    t = setTimeout(function() {
        if ($("#baidu_geo").next("input").attr("value").length == 0) {
            $("#baidu_geo").removeClass("baidu_map").html('<span onclick="refresh()" style="color: #f05156;"><img src="../../images/v2/indexrefresh@2x.png">定位獲取超時,請點(diǎn)擊重試</span>');
        }
    }, 10000);
    baiduPosition(35);
});
// 定位城市信息
function positions(json, cid) {
    //不寫報錯
};
function baiduPosition(cid) {
    console.log("shihongfanghshshsshhhsh")
    $(".baidu_map").html('<span><img src="../../images/v2/Loading_icon2-2.gif">正在獲取定位</span>');
    var geolocation = new BMap.Geolocation();
    geolocation.getCurrentPosition(function(r) {
        if (this.getStatus() == BMAP_STATUS_SUCCESS) {
            var position = {
                lng: r.point.lng,
                lat: r.point.lat
            }
            if (cid == 'sort') {
                sort(position);
            } else {
                positions(position, cid);
            }
            //console.log('您的位置:' + r.point.lng + ',' + r.point.lat)
            translateCallback(r.point.lng, r.point.lat)
        } else {
            //alert('獲取當(dāng)前位置失敗,請確定您開啟了定位服務(wù)');
            $(".baidu_map").html('<span onclick="baiduPosition(35)" style="color: #f05156;"><img src="../../images/v2/indexrefresh@2x.png">定位獲取失敗,請點(diǎn)擊重試</span>');
        }
    }, {
        enableHighAccuracy: true
    });
};

function translateCallback(lng, lat) {
    var latlon = lat + ',' + lng;
    var url = "http://api.map.baidu.com/geocoder/v2/?ak=申請的key&callback=renderReverse&location=" + latlon + "&output=json&pois=0";
    var xhr = $.ajax({
        type: "GET",
        dataType: "jsonp",
        url: url,
        beforeSend: function() {
            $(".baidu_map").html('<span><img src="../../images/v2/Loading_icon2-2.gif">正在獲取定位</span>');
        },
        success: function(json) {
            if (json.status == 0) {
                $(".baidu_map").siblings("input").val(json.result.addressComponent.city + "-" + json.result.addressComponent.district)
                city = json.result.formatted_address.split("市")[0] + "市";
                console.log(city)
                var cityinfo = $(".popup-about2 .warp span").text().split("市");
                if ($.inArray(json.result.formatted_address.split("市")[0], cityinfo) == -1) {
                    $(".baidu_map").html('<span onclick="baiduPosition(35)" style="color: #f05156;"><img src="../../images/v2/indexrefresh@2x.png">定位獲取失敗,請點(diǎn)擊重試</span>');
                } else {
                    $(".baidu_map").html('<span class="close-popup1" onclick="setPresentAddressPrev(this)">' + city.split("市")[0] + '市</span>');
                }
            }
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            $(".baidu_map").html('<span onclick="baiduPosition(35)" style="color: #f05156;"><img src="../../images/v2/indexrefresh@2x.png">定位獲取失敗,請點(diǎn)擊重試</span>');
        }
    });
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末永淌,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子昌跌,更是在濱河造成了極大的恐慌仰禀,老刑警劉巖照雁,帶你破解...
    沈念sama閱讀 212,332評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚕愤,死亡現(xiàn)場離奇詭異,居然都是意外死亡饺蚊,警方通過查閱死者的電腦和手機(jī)萍诱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,508評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來污呼,“玉大人裕坊,你說我怎么就攤上這事⊙嗫幔” “怎么了籍凝?”我有些...
    開封第一講書人閱讀 157,812評論 0 348
  • 文/不壞的土叔 我叫張陵周瞎,是天一觀的道長。 經(jīng)常有香客問我饵蒂,道長声诸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,607評論 1 284
  • 正文 為了忘掉前任退盯,我火速辦了婚禮彼乌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘渊迁。我一直安慰自己慰照,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,728評論 6 386
  • 文/花漫 我一把揭開白布琉朽。 她就那樣靜靜地躺著毒租,像睡著了一般。 火紅的嫁衣襯著肌膚如雪箱叁。 梳的紋絲不亂的頭發(fā)上蝌衔,一...
    開封第一講書人閱讀 49,919評論 1 290
  • 那天,我揣著相機(jī)與錄音蝌蹂,去河邊找鬼噩斟。 笑死,一個胖子當(dāng)著我的面吹牛孤个,可吹牛的內(nèi)容都是我干的剃允。 我是一名探鬼主播,決...
    沈念sama閱讀 39,071評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼齐鲤,長吁一口氣:“原來是場噩夢啊……” “哼斥废!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起给郊,我...
    開封第一講書人閱讀 37,802評論 0 268
  • 序言:老撾萬榮一對情侶失蹤牡肉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后淆九,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體统锤,經(jīng)...
    沈念sama閱讀 44,256評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,576評論 2 327
  • 正文 我和宋清朗相戀三年炭庙,在試婚紗的時候發(fā)現(xiàn)自己被綠了饲窿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,712評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡焕蹄,死狀恐怖逾雄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤鸦泳,帶...
    沈念sama閱讀 34,389評論 4 332
  • 正文 年R本政府宣布银锻,位于F島的核電站,受9級特大地震影響做鹰,放射性物質(zhì)發(fā)生泄漏徒仓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,032評論 3 316
  • 文/蒙蒙 一誊垢、第九天 我趴在偏房一處隱蔽的房頂上張望掉弛。 院中可真熱鬧,春花似錦喂走、人聲如沸殃饿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乎芳。三九已至,卻和暖如春帖池,著一層夾襖步出監(jiān)牢的瞬間奈惑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,026評論 1 266
  • 我被黑心中介騙來泰國打工睡汹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肴甸,地道東北人。 一個月前我還...
    沈念sama閱讀 46,473評論 2 360
  • 正文 我出身青樓囚巴,卻偏偏與公主長得像原在,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子彤叉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,606評論 2 350