美文网首页
微信小程序校正百度地图与腾讯地图经纬度

微信小程序校正百度地图与腾讯地图经纬度

作者: 芒果加奶 | 来源:发表于2018-12-16 20:42 被阅读0次

    在实际开发中使用了百度地图在小程序中,与PC端保持一致,API都是百度的,地图底图却是腾讯地图,这个有点坑。

    微信小程序上地图的显示
    最坑的是取到的经纬度也是腾讯地图的,好吧,手工校正
    /**
       *腾讯地图转百度地图经纬度
       */
      qqMapTransBMap(lng, lat) {
        let x_pi = 3.14159265358979324 * 3000.0 / 180.0;
        let x = lng;
        let y = lat;
        let z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi);
        let theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi);
        let lngs = z * Math.cos(theta) + 0.0065;
        let lats = z * Math.sin(theta) + 0.006;
        return {
          lng: lngs,
          lat: lats
        };
      }
    
      /*
       * 百度转腾讯
       */
      bMapTransqqMap(lng, lat) {
        let x_pi = (3.14159265358979324 * 3000.0) / 180.0;
        let x = lng - 0.0065;
        let y = lat - 0.006;
        let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);
        let theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);
        let lngs = z * Math.cos(theta);
        let lats = z * Math.sin(theta);
        return {
          longitude: lngs,
          latitude: lats
        };
      }
    

    亲测,和百度坐标拾取对比后,误差不超过十米,已经很准了

    相关文章

      网友评论

          本文标题:微信小程序校正百度地图与腾讯地图经纬度

          本文链接:https://www.haomeiwen.com/subject/apgxkqtx.html