欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript微信定位功能實(shí)現(xiàn)方法

 更新時(shí)間:2016年11月29日 14:15:13   作者:peggyhao  
這篇文章主要介紹了JavaScript微信定位功能實(shí)現(xiàn)方法,將定位到的經(jīng)緯度轉(zhuǎn)換為百度地圖對(duì)應(yīng)的經(jīng)緯度,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

分享下微信是如何定位的:

本文主要講解如何利用微信定位,如何將定位到的經(jīng)緯度轉(zhuǎn)換為百度地圖對(duì)應(yīng)的經(jīng)緯度,以及處理定位失敗、取消及錯(cuò)誤時(shí)的默認(rèn)做法。

//獲取地理位置信息start
//封裝成一個(gè)函數(shù)
 function getPosition() {
 //用ajax請(qǐng)求
  $.ajax({
   url: "/wechat/jssdk",//請(qǐng)求地址
   type: 'post',//post請(qǐng)求
   dataType: 'json',
   contentType: "application/x-www-form-urlencoded; charset=utf-8",
   data: {
    'url': location.href.split('#')[0]//將第一個(gè)#號(hào)前的地址傳遞
   },
//請(qǐng)求成功的函數(shù)
   success: function (data) {
    wx.config({
     // debug: true,
     appId: data.data.appId,
     timestamp: data.data.timestamp,
     nonceStr: data.data.nonceStr,
     signature: data.data.signature,
     jsApiList: ['checkJsApi', 'getLocation']
    });
    wx.ready(function () {
     wx.getLocation({
     //獲得定位成功
      success: function (res) {
      //這是微信返回的真正經(jīng)緯度
       var oldLat = res.latitude; // 緯度,浮點(diǎn)數(shù),范圍為90 ~ -90
       var oldLng = res.longitude; // 經(jīng)度,浮點(diǎn)數(shù),范圍為180 ~ -180。
       /*下面是為了將獲得的真正經(jīng)緯度轉(zhuǎn)換為對(duì)應(yīng)的百度經(jīng)緯度,因?yàn)槭抢冒俣鹊貓D的經(jīng)緯度去查詢數(shù)據(jù)的,數(shù)據(jù)庫中存的也是百度的經(jīng)緯度*/
       //創(chuàng)建一個(gè)百度地圖的點(diǎn)
       var customerPoint = new BMap.Point(oldLng, oldLat);
       //
       var convertor = new BMap.Convertor();

       var pointArr = [];//創(chuàng)建一個(gè)數(shù)組
       pointArr.push(customerPoint);//將剛才的點(diǎn)放進(jìn)去
       convertor.translate(pointArr, 1, 5, initMap); //轉(zhuǎn)換坐標(biāo)
       function initMap(data) {
        if (data.status === 0) {//轉(zhuǎn)換成功
         var point = data.points[0];//得到后的點(diǎn)
         var lng = point.lng;//獲得轉(zhuǎn)換后的經(jīng)度
         var lat = point.lat;//獲得轉(zhuǎn)換后的緯度
         toDoFunction(lng, lat);//將經(jīng)緯度傳入到要運(yùn)用的函數(shù)中
        } else {
        //下面兩行是默認(rèn)定位到西湖的經(jīng)緯度
         lng = 120.141375;
         lat = 30.257806;
         toDoFunction(lng, lat);//將經(jīng)緯度傳入到要運(yùn)用的函數(shù)中
        }
       }

      },
      //取消定位
      cancel: function () {
      //下面兩行是默認(rèn)定位到西湖的經(jīng)緯度
       var lng = 120.141375;
       var lat = 30.257806;
       toDoFunction(lng, lat);//將經(jīng)緯度傳入到要運(yùn)用的函數(shù)中
      },
      //定位失敗
      fail: function () {
      //下面兩行是默認(rèn)定位到西湖的經(jīng)緯度
       var lng = 120.141375;
       var lat = 30.257806;
       toDoFunction(lng, lat);//將經(jīng)緯度傳入到要運(yùn)用的函數(shù)中
      }

     });
     //定位發(fā)生錯(cuò)誤
     wx.error(function () {
     //下面兩行是默認(rèn)定位到西湖的經(jīng)緯度
      var lng = 120.141375;
      var lat = 30.257806;
      toDoFunction(lng, lat);//將經(jīng)緯度傳入到要運(yùn)用的函數(shù)中
     });

    });
   }
  });
 }

以上代碼,如果可以定位到就用定位到的真正的經(jīng)緯度,再轉(zhuǎn)換成百度地圖對(duì)應(yīng)的經(jīng)緯度,如果定位失敗或者是點(diǎn)擊取消或者發(fā)生錯(cuò)誤,則默認(rèn)定位到西湖的經(jīng)緯度。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • js拖拽一些常見的思路方法整理

    js拖拽一些常見的思路方法整理

    這篇文章主要介紹了js拖拽一些常見的思路方法,需要的朋友可以參考下
    2014-03-03
  • 利用JS自動(dòng)打開頁面上鏈接的實(shí)現(xiàn)代碼

    利用JS自動(dòng)打開頁面上鏈接的實(shí)現(xiàn)代碼

    今天經(jīng)過測(cè)試,實(shí)現(xiàn)了利用JS來自動(dòng)打開頁面上的鏈接的功能,其實(shí)比較簡(jiǎn)單,就是在頁面上把鏈接列表列出來,然后通過JQuery的相關(guān)控制,在框架頁中把鏈接打開,具體能做什么用,大家自己想,哈哈。
    2011-09-09
  • Javascript解析URL方法詳解

    Javascript解析URL方法詳解

    本文介紹了完整的URL的結(jié)構(gòu)構(gòu)成以及解析URL的2種方法,包括正則分析法和split法,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下
    2014-12-12
  • javascript 瀏覽器類型和版本號(hào)檢測(cè)代碼(兼容多瀏覽器)

    javascript 瀏覽器類型和版本號(hào)檢測(cè)代碼(兼容多瀏覽器)

    果對(duì)javascript了解不是特別深入的話,很容易就會(huì)寫出不兼容的代碼(就像我),這時(shí)候就得判斷瀏覽器了。比如事件偵聽、一些鼠標(biāo)和鍵盤事件、Range等,一些都會(huì)不一樣.下面列出幾種常用的檢測(cè)瀏覽器方法,以饗觀眾!
    2010-04-04
  • js實(shí)現(xiàn)窗口全屏示例詳解

    js實(shí)現(xiàn)窗口全屏示例詳解

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)窗口全屏示例,包含全屏事件、退出全屏事件等,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • 用console.table()調(diào)試javascript

    用console.table()調(diào)試javascript

    昨天我了解到Chrome調(diào)試工具一個(gè)小巧的調(diào)試方法,在WDCC期間, Marcus Ross(@zahlenhelfer) 介紹了,chrome調(diào)試工具各種調(diào)試方法,這個(gè)只是其中一種,現(xiàn)在我來給大家秀下。
    2014-09-09
  • JavaScript判斷是否為數(shù)字的幾種方式匯總(推薦!)

    JavaScript判斷是否為數(shù)字的幾種方式匯總(推薦!)

    有時(shí)候需要根據(jù)輸入的內(nèi)容來進(jìn)行計(jì)算,這個(gè)時(shí)候就需要判斷輸入的內(nèi)容是否是數(shù)字,下面這篇文章主要給大家介紹了關(guān)于JavaScript判斷是否為數(shù)字的幾種方式,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • gulp構(gòu)建小程序的方法步驟

    gulp構(gòu)建小程序的方法步驟

    這篇文章主要介紹了gulp構(gòu)建小程序的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 一個(gè)html5播放視頻的video控件只支持android的默認(rèn)格式mp4和3gp

    一個(gè)html5播放視頻的video控件只支持android的默認(rèn)格式mp4和3gp

    寫了個(gè)html5播放視頻的video控件,只支持mp4和3gp(android和ios默認(rèn)支持的格式就寫了這個(gè)) ,需要的朋友可以參考下
    2014-05-05
  • js日期、星座的級(jí)聯(lián)顯示代碼

    js日期、星座的級(jí)聯(lián)顯示代碼

    本篇文章主要是對(duì)js日期、星座的級(jí)聯(lián)顯示代碼進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2014-01-01

最新評(píng)論