百度地图坐标转换

百度地图坐标转换Demo文件 下载

------------------------------------------分割线------------------------------------------

具体下载目录在 /2014年资料/7月/22日/百度地图坐标转换

------------------------------------------分割线------------------------------------------

先给大家看个我通过HTML5获取到自己的坐标信息后,再调用百度地图接口定位的截图:

百度地图坐标转换

哎哟我去,第一张图不对啊,这地图上显示的地理位置与我实际的地理位置不符呀!偏离的好远!是百度地图定位不准确吗?其实根本不是百度地图的问题,而是你提供的地理坐标不对!坐标怎么会不对呢?客官别急,让我慢慢道来:

首先,我这个Demo背景是用HTML5 Geolocation特性通过GPS设备“爱疯”获取来的地理坐标信息(GPS设备获取的坐标),根据相关法律的规定,GPS获取的原始坐标又不能在互联网上对外提供。

其次,不同的API提供商可能会使用不同的坐标系,例如google地图、百度地图、soso地图……他们的坐标系都有所差异。

简单的说,就是我现在GPS设备获取的坐标,如果要在百度地图中精确定位的话,那就得把GPS原坐标转换为百度地图的坐标系。同理,如果调用的是别家地图API,你也得把坐标转换为他们的体系。

那到底该怎么转换坐标呢?放心,API提供商早就为大家准备好了接口。本文就以百度地图为例:

百度地图官方文档:http://developer.baidu.com/map/changeposition.htm文档已经写了很清楚,我就不细说了,结合下本文的Demo给大家讲讲我的做法。

(1)首先你要成为百度开发者,要获取百度给你的密钥,这样你才可以调用百度的API;

(2)按照请求参数说明拼写发送http请求的url;发送的请求格式是:http://api.map.baidu.com/geoconv/v1/?(拼写参数)……

服务参数的详情:

参数含义取值范围是否必须默认取值
coords源坐标

格式:经度,纬度;经度,纬度…

 

限制:最多支持100个

格式举例:

114.21892734521,29.575429778924;

114.21892734521,29.575429778924

ak开发者密钥 
sn用户的权限签名 若用户所用ak的校验方式为sn校验时该参数必须。(sn生成算法
from源坐标类型

取值为如下:

1:GPS设备获取的角度坐标;

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

3:google地图、soso地图、aliyun地图、mapabc地图和amap地图所用坐标

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

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

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

7:mapbar地图坐标;

8:51地图坐标

默认为1,即GPS设备获取的坐标
to目的坐标类型

有两种可供选择:5、6。

5:bd09ll(百度经纬度坐标),

6:bd09mc(百度米制经纬度坐标);

默认为5,即bd09ll(百度坐标)
output返回结果格式

json或者xml

json

 

相关推荐