文档章节

JS: 百度地图与腾讯/高德地图经纬度转换

glen_xu
 glen_xu
发布于 03/12 08:56
字数 442
阅读 595
收藏 0
COS

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

前言
在开发中使用了第三方的数据,由于经纬度使用的是第三方的数组,他们使用的是百度的地图坐标。在项目中使用时,能用百度地图去解析自然是最好的,但是呢,该项目是基于微信小程序的,百度地图针对小程序提供的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        
      }   
}


原文:https://blog.csdn.net/weixin_39015132/article/details/82958562 

 

© 著作权归作者所有

glen_xu
粉丝 9
博文 138
码字总数 18528
作品 0
济南
私信 提问
GPS位置地图坐标系:WGS-84(GPS)、GCJ-02(Google地图)、BD-09(百度地图),OpenGIS

国家规定,中国大陆所有公开地理数据都需要至少用GCJ-02进行加密,也就是说我们从国内公司的产品中得到的数据,一定是经过了加密的。绝大部分国内互联网地图提供商都是使用GCJ-02坐标系,包括...

desaco
01/29
0
0
百度腾讯GOOGLE地图API列表

列表页:http://www.codeyyy.com/javascript/8-100-144.html 百度地图API: http://www.codeyyy.com/javascript/lib/maps/203.html 高德地图API: http://www.codeyyy.com/javascript/lib/maps......

codeyyy
2017/02/22
378
1
【高小爱课堂】_地图API开发者教程(全平台精华版)

一、使用须知 二、坐标相关问题 三、标注问题 四、定位相关问题 五、云图 六、地图API 1)Javascript API 2)Android API 3)iOS API 4)Windows Phone 及win8 API 5)URI API ▼使用须知 Q:...

高德LBS开放平台
2014/06/13
1K
0
百度Api完成在线地图定位显示

地址:http://lbsyun.baidu.com/jsdemo.htm#c13

Rawirm
2018/05/17
0
0
百度地图新手教程1(转载自百度)

简介 1.什么是百度地图API? 2.面向的读者 3.坐标转换 4.获取API 5.开发移动平台上的地图应用 6.异步加载 7.兼容性 8.版本说明 9.问题解答 什么是百度地图API? 百度地图API是一套由JavaScr...

长平狐
2013/01/06
3.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

加载JDBC驱动

我们平时在连接数据库时需要加载驱动,通常做法是将JDBC驱动程序放在类路径中的某个位置,然后用Class.forName()查找并加载驱动程序。 这也就意味着要么将驱动程序打包到jar中,要么将驱动程...

uknow8692
30分钟前
4
0
TCP三次握手详情

TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接。 客户端在收发数据前要使用 conn...

vinci321
31分钟前
4
0
适用于PDF文件的MIME媒体类型

使用PDF时,我遇到了MIME类型application/pdf和application/x-pdf等。 这两种类型之间是否存在差异,如果是这样,它是什么? 一个比另一个更受欢迎吗? 我正在开发一个必须提供大量PDF的网络...

技术盛宴
38分钟前
5
0
Docker数据挂载

Docker数据管理 在容器中管理数据主要有两种方式: 数据卷(Volumes) 挂载主机目录(Bind mounts) 数据卷 数据卷是一个可供一个或多个容器使用的特殊目录,它绕过UFS,可以提供很多有用的特...

CodingDiary
50分钟前
6
0
jQuery获取特定的选项标签文本

好吧,说我有这个: <select id='list'> <option value='1'>Option A</option> <option value='2'>Option B</option> <option value='3'>Option C</option></select> 如果我想......

javail
54分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部