首页 > 编程知识 正文

腾讯地好百度地好高德地好,高德地腾讯地百度地导航犬

时间:2023-05-04 20:37:26 阅读:265966 作者:3336

前言

在开发中使用了第三方的数据,由于经纬度使用的是第三方的数组,他们使用的是百度的地图坐标。在项目中使用时,能用百度地图去解析自然是最好的,但是呢,该项目是基于微信小程序的,百度地图针对小程序提供的API功能不是很完善,难以实现想要的需求,所以采用腾讯官方的地图。

开始

使用不同的地图,相应的经纬度会存在些许偏差,腾讯和高德是同一坐标的,可以互用,百度的坐标与两者稍有不同,使用前,需要先经过换算。

实践

将腾讯/高德地图经纬度转换为百度地图经纬度

function 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  } }

 将百度地图经纬度转换为腾讯/高德地图经纬度

function 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 {       lng: lngs,       lat: lats      }  } 总结

嘘寒问暖 不如打笔巨款~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。