微信获取用户地理位置(经纬度)和百度获取实际地址的经纬度之间相差较大解决 您所在的位置:网站首页 如何查找位置的经纬度和纬度 微信获取用户地理位置(经纬度)和百度获取实际地址的经纬度之间相差较大解决

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

2024-07-03 19:59| 来源: 网络整理| 查看: 265

前提了解: 坐标系分类(经纬度):

类型说明使用者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.php?title=webapi/guide/changeposition

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

http://api.map.baidu.com/geoconv/v1/?coords=114.21892734521,29.575429778924&from=1&to=5&ak=你的密钥

参数说明:

参数名称含义类型举例默认值是否必须coords需转换的源坐标,多组坐标以“;”分隔(经度,纬度)float114.21892734521,29.575429778924无是ak开发者密钥string无是from源坐标类型:1、GPS设备获取的角度坐标,WGS84坐标 2、GPS获取的米制坐标、sogou地图所用坐标;3、google地图、soso地图、aliyun地图、mapabc地图和amap地图所用坐标,国测局(GCJ02)坐标;4、3中列表地图坐标对应的米制坐标;5、百度地图采用的经纬度坐标;6、百度地图采用的米制坐标;7、mapbar地图坐标;8、51地图坐标int11否to目标坐标类型:5:bd09ll(百度经纬度坐标);6:bd09mc(百度米制经纬度坐标)int55否

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

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有