当前位置: 首页 > 后端技术 > PHP

微信获取的用户地理位置(经纬度)的经纬度与百度获取的实际地址存在较大差异

时间:2023-03-29 19:59:44 PHP

前提理解:坐标系分类(经纬度):WGS84美国GPS,国际通行,如谷歌国外地图,osm地图火星系统GCJ-02国测局制定的标准,国内地图至少要用这对位置第一次加密,高德地图、腾讯搜搜地图、阿里云地图、灵图51ditu地图、谷歌中国地图BD-09百度在GCJ-02标准的基础上进行二次加密。这两天百度地图一直在研究经纬度的问题,终于在微信上找到了用户在百度上获取的地理位置(经纬度)与百度上获取的实际地址的经纬度的距离天壤之别,相差五千米以上。到底是怎么回事?最后发现微信端获取的经纬度使用的是WGS84(大地坐标系),而在百度上获取的经纬度使用的是百度自己定义的BD-09(百度坐标系),坐标系为百度的对外接口是没有GPS的。采集到的真实经纬度,所以这两个经纬度差距太大了,那怎么解决呢?由于两个经纬度的坐标系标准不同,是否可以很快将其中一种坐标系转换成另一种坐标系类型?根据这个思路,解决方法如下:GPS84转BD-09:百度api中提供了WGS84(大地坐标系)和GCJ02(国测局坐标系)转BD-09(百度坐标)的接口系统)百度坐标转换api地址:http://lbsyun.baidu.com/index...百度坐标转换接口地址如下:http://api.map.baidu.com/geoc...参数说明:待转换坐标的来源坐标,多组坐标用“;”分隔,(经度,纬度)akdeveloperkeyfromsource坐标类型:1:GPS设备获取的角坐标,WGS84坐标;2:GPS获取的公制坐标,搜狗地图使用的坐标;3:谷歌地图、搜搜地图、阿里云地图、Mapabc地图、高德地图使用的坐标,国测局(GCJ02)坐标;4:3中列表地图坐标对应的公制坐标;5:百度地图使用的经纬度坐标;6:百度地图使用的公制坐标;7:mapbar地图坐标;8:51地图坐标转目标坐标类型:5:bd09ll(百度经纬度坐标);终端获取的经纬度如何转换成百度自己加密的经纬度?那时候怎么把BD-09转成GPS84呢?百度没有提供接口。目前尚不清楚如何转换它。知道的欢迎评论,谢谢