概述
最近在做移动APP的定位功能的时候发现系统GPS获取的位置信息再从百度地图API获取的实际地址总是有误差,偏离了好几个街道,但百度地图本身没这个问题。在网上查找一番发现了地图的坐标系一说,下面简单介绍一下主流的坐标系:
1.GCJ-02 俗称火星坐标系,由中国国家测绘局制订的地理信息系统的坐标系统。一般中国官方发布的地图上标注的经纬度都是这种坐标系的,与实际经纬度有偏差。
2.WGS84:World Geodetic System 1984,俗称地球坐标系,是为GPS全球定位系统使用而建立的坐标系统。一般手持设备(比如手机)从GPS卫星获取的坐标系就是这个坐标系。google地图、soso地图、aliyun地图、mapabc地图和amap地图所用此坐标
3.墨卡托(Mercator)坐标系,是由荷兰地图学家墨卡托(Mercator)在1569年拟定,假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅标准纬线为零度(即赤道)的“墨卡托投影”绘制出的世界地图。
4.BD-09 百度坐标系,百度在GCJ-02要求加密的基础上,又自己对坐标加密了一次。
我们正常使用的时候调用需要根据不同的地图类型进行坐标转换 百度地图提供了这个转换API:
http://developer.baidu.com/map/changeposition.htm
例如:http://api.map.baidu.com/geoconv/v1/?coords=114.21892734521,29.575429778924;114.21892734521,29.575429778924&from=1&to=5&ak=你的密钥
返回:
{
status : 0,
result :
[
{
x : 114.23074871003,
y : 29.579084787993
},
{
x : 114.23075628327,
y : 29.579081090996
}
]
}
在根据返回的坐标调用百度地图的API 就能返回准确的地址了。
百度的API上有段话:
注:本接口支持回调。另外,同一个GPS坐标多次转为百度坐标时,每次转换结果都不完全一样,误差在2米范围内,属于正常误差,不影响正常使用。
呵呵~
转载于:https://www.cnblogs.com/yesicoo/p/4668642.html
最后
以上就是外向铅笔为你收集整理的使用百度地图API进行坐标系转换的全部内容,希望文章能够帮你解决使用百度地图API进行坐标系转换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复