1. 程式人生 > 實用技巧 >解決在微信網頁中百度地圖定位不準確的問題

解決在微信網頁中百度地圖定位不準確的問題

1、原先是通過百度地圖APIgetCurrentPosition來獲取座標,然後再顯示出來。可是定位極其不準確。後突然想進來微信網頁正好有定位功能。

2、通過微信定位得出來的座標是wgs84格式,需要轉換一下才能在百度地圖中顯示。

3、查詢資料,找到相關辦法。連結

4、話不多說,上程式碼

     wx.getLocation({
        type: 'wgs84', // 預設為wgs84的gps座標,如果要返回直接給openLocation用的火星座標,可傳入'gcj02'
        success: function (res) {
          var latitude = res.latitude; // 緯度,浮點數,範圍為90 ~ -90
          var longitude = res.longitude; // 經度,浮點數,範圍為180 ~ -180。
          var speed = res.speed; // 速度,以米/每秒計
          var accuracy = res.accuracy; // 位置精度
           let point = new BMap.Point(res.longitude, res.latitude)
              // var mk = new BMap.Marker(point);
              // map.addOverlay(mk);
              // map.panTo(point);

          const pointBak = new BMap.Point(point.lng, point.lat);

            const convertor = new BMap.Convertor();
            var lng=0;
            var lat=0;
            convertor.translate([pointBak], 1, 5, function(resPoint) {
              console.log(resPoint);
              if (resPoint && resPoint.points && resPoint.points.length > 0) {
                lng = resPoint.points[0].lng;
                lat = resPoint.points[0].lat;
              }
              const point = new BMap.Point(lng, lat);
              that.center = point;
              var mk = new BMap.Marker(point);
              map.addOverlay(mk);
              map.panTo(point);
            });

        }
      });