微信获取用户地理位置(经纬度)和百度获取实际地址的经纬度之间相差较大解决

Transaction
• 阅读 6663

前提了解:

坐标系分类(经纬度):

  • WGS84

美国GPS,国际通用,如谷歌国外地图、osm地图

  • 火星系GCJ-02

国测局制定的标准,国内地图必须至少使用此对位置进行首次加密,高德地图、腾讯搜搜地图、阿里云地图、灵图51ditu地图、谷歌中国地图

  • BD-09

百度在GCJ-02标准基础上进行二次加密 ,百度地图

这两天一直在研究经纬度的问题,最后发现在微信上获取用户的地理位置(经纬度)和在百度上获取实际地址的经纬度之间的距离相差较大,整整相差了5000多米的距离,这到底是怎么回事呢?最后发现原来微信端获取的经纬度使用的是WGS84(大地坐标系),然而在百度上获取的经纬度使用的是百度自己定义的BD-09(百度坐标系),百度对外接口的坐标系并不是GPS采集的真实经纬度,所以导致了两个经纬度之间的差距过大,那么解决方式是什么呢?

既然两个经纬度的坐标系标准不同,那么将其中一个坐标系的转换成另一个坐标系类型不久可以了吗?根据这个思路解决方法如下:

GPS84转换为BD-09:

在百度api中,提供了将WGS84(大地坐标系)和GCJ02(国测局坐标系)转化为BD-09(百度坐标系)的接口

百度坐标转换api地址:http://lbsyun.baidu.com/index...

百度坐标转换接口地址如下:

http://api.map.baidu.com/geoc...

参数说明:

  • coords

需转换的源坐标,多组坐标以“;”分隔,(经度,纬度)

  • ak

开发者密钥

  • from

源坐标类型:
1:GPS设备获取的角度坐标,WGS84坐标;

2:GPS获取的米制坐标、sogou地图所用坐标;

3:google地图、soso地图、aliyun地图、mapabc地图和amap地图所用坐标,国测局(GCJ02)坐标;

4:3中列表地图坐标对应的米制坐标;

5:百度地图采用的经纬度坐标;

6:百度地图采用的米制坐标;

7:mapbar地图坐标;

8:51地图坐标

  • to

目标坐标类型:
5:bd09ll(百度经纬度坐标);
6:bd09mc(百度米制经纬度坐标)

根据如上就可以实现将我们微信端获取的经纬度转化成百度自己加密过后的经纬度

当时如何将BD-09转换成GPS84百度没有提供接口,具体如何转换目前不清楚,有知道的,欢迎评论,谢谢

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
tableau地图源之高德地图
Tableau必知必会之如何导入其它地图源地图分析是我们常用的分析之一,虽然Tableau已经有很不错的地图,但很多人还是希望有更多的选择。那么,在Tableau里可以导入别的地图源吗?答案是肯定的:当然可以。下面我们以高德地图为例,看看如何把高德地图导入Tableau中使用。具体步骤如下:
Irene181 Irene181
4年前
只要两步,用Python将地址标记在地图上!
大家好,在之前的文章中,很多读者私信对如何将商家地址标记到地图上感兴趣👇本文就将讲解,给你一个地址,如何用Python进行可视化,只需要两步:将地址转成经纬度根据经纬度在地图上标记点一、将地址转成经纬度首先我们需要将地理位置转成经纬度这种统一格式,方便代码去识别。完成这一个需求可以使用爬虫通过在线的经纬度转换网站来实现,也可以使用
Easter79 Easter79
3年前
vue 中使用高德地图, 地图选点
功能简述:网页版高德地图开发,主要支持地图选点(没做导航),搜索选点.(功能类似微信与好友聊天中的选择位置,发送位置,如下图)!(https://img2018.cnblogs.com/blog/1195136/201904/119513620190423112130558812176871.png)第一步:先成为高德地图的开发
Easter79 Easter79
3年前
vue 百度地图实现标记多个maker,并点击任意一个maker弹出对应的提示框信息, (附: 通过多个地址,标记多个marker 的 方法思路)
通过点击不同筛选条件,筛选出不同企业所在的地点,根据每个企业的经纬度在地图上标记多个maker,点击任意一个maker,会弹出infoWindow信息窗口;说明: 因每个人写法不同、需求不同,部分代码未提供复制粘贴需要参考: 百度地图API1、初始化地图this.baiduMapnewBMap.Map("allMap
Karen110 Karen110
3年前
Python-geopandas 中国地图绘制
上一期的地图可视化推文教程中,我们详细介绍了使用Rggplot2包完美绘制中国标准地图,本期推文我们则试着使用Pythongeopandas包绘制空间地图,主要的知识点如下:geopandas绘制中国地图matplotlibadd\axes()添加南海小地图绘图文件分享geopandas读取中国地图文件g
Wesley13 Wesley13
3年前
Unity RPG游戏,场景任务的设计
0:讨论群qq群号:390313628unity4.6版本运行1场景任务的设计参考开源赛达尔传说游戏SolarusDX。每个地图存在一个控制脚本,脚本名字mapxxxxxx为地图ID。地图控制器提供标准接口,进入地图事件处理和退出地图事件处理。每次切换场景地图的时候,加载对应的脚本,脚本挂在一个Game
Wesley13 Wesley13
3年前
IOS 百度地图导入最新 SDK 2.9 报错
IOS百度地图导入最新2.9SDK报错\_baidu\_framework::HandleBasemapMerge(\_baidu\_vi::CVStringconst解决:因为XCode默认使用的C标准库是苹果自己的libc(LLVMCstandardlibrarywithc11support),而百度地图SD
Stella981 Stella981
3年前
Google Map 开发(三):Google Map 地点搜索功能
开发国内应用当我们需要使用到地图时,首选肯定是高德地图或者百度地图,这是因为它们的地图功能足够强大,对于开发人员来说,更是因为API封装的完善和简单的调用实现,扩展功能强大。如果要开发全球通用的APP,需要集成地图,我们难免会对需要使用的地图SDK进行一番调研,百度和高德并没有全世界范围的地图数据,在亚洲或许还能使用以下,对于需要全球范围内都要
上海张律师 上海张律师
1天前
鸿蒙地图功能开发【1. 开发准备】##地图开发##
​对于地图功能的开发,有以下三种思路1.使用鸿蒙官方的MapKit进行开发2.使用第三方地图的SDK(例如高德地图、百度地图)3.做一个基于h5的地图页面,通过Web组件去引入对于这三种方案,每一种都有自己的特点原生的MapKit,目前来看文档是最全面的也
鸿蒙小林 鸿蒙小林
1天前
《仿盒马》app开发技术分享-- 定位获取(25)
技术栈Appgalleryconnect开发准备上一节我们实现了地址管理页面的数据查询和展示,接下来我们要实现的功能是地址添加相关的,我们想实现的功能是地图选点,那么在地图选点之前我们要做的就是先获取用户当前的定位。获取定位后我们拿到经纬度和其他信息,然后
鸿蒙小林 鸿蒙小林
1天前
《仿盒马》app开发技术分享-- 原生地图展示(26)
技术栈Appgalleryconnect开发准备上一节我们实现了获取当前用户的位置,并且成功的拿到了经纬度,这一节我们就要根据拿到的经纬度,结合我们其他的知识点来实现地图的展示。功能分析地图的展示,我们需要在管理中心先给我们对应的应用开启地图api功能,否
Transaction
Transaction
Lv1
是承诺,是执着,也是守护。
文章
4
粉丝
0
获赞
0