国内所有的电子地图服务提供商都给地图数据加上偏移和加密,所谓的地图数据加密偏移,其实就是用一个偏移算法对地图的经纬度做一个加减偏移量,从而达到与实际地图不一致。这个偏移算法本身是没有什么规律可言的,每家地图服务商都有一套自己的加密偏移算法,但是偏移算法中生成的偏移量是有规律而言的。
因目前各家地图API服务商都沿用不同的坐标体系,故在更换API服务商或对各家API性能进行测试的时候会遇到较大的障碍。在期待出现可以方便地转换不同坐标体系的接口的时候,百度地图API经纬度转换接口出现了。
目前百度地图坐标转换工具支持以下API服务商所采用的坐标体系:(当然还包括百度自己)
- Mapbar
- Mapabc
- 51ditu
- 谷歌
坐标转换接口说明(http://openapi.baidu.com/map/coordinate.html)
请求接口中有四个参数:
from: | 被转换的坐标体系 |
to: | 转换到这个坐标体系 |
x: | 经度 |
y: | 纬度 |
接口应答中有三个key:(应答格式如:{“error”:0,”x”:116.2610991221,”y”:29.820560874846})
error: | 值为0时,则为成功,非0时,则为失败 |
x: | 目的经度,即百度坐标经度 |
y: | 目的纬度,即百度坐标纬度 |
接口的使用示例
谷歌: | http://api.map.baidu.com/ag/coord/convert?from=gcj02ll&to=bd09ll&x=116.254615&y=29.814476 |
51地图: | 51地图的坐标,先要除10^5,然后再调用url
http://api.map.baidu.com/ag/coord/convert?from=gcj02ll&to=bd09ll&x=116.254615&y=29.814476 |
Mapbar: | http://api.map.baidu.com/ag/coord/convert?from=wgs84ll&to=bd09ll&x=116.254615&y=29.814476 |
Mapabc: | http://api.map.baidu.com/ag/coord/convert?from=gcj02ll&to=bd09ll&x=116.254615&y=29.814476 |
1.Google地图 http://ditu.google.cn/,http://maps.google.com/。提供API接口,http://code.google.com/intl/zh-CN/apis/maps/
2.百度地图 http://map.baidu.com/
3.图吧地图 http://www.mapbar.com/ 提供API接口
4.我要地图 http://www.51ditu.com/。提供API接口,http://api.51ditu.com/
5.搜狗地图 http://map.sogou.com/。提供API接口,http://www.go2map.com/down/freemap/
6.必应地图 http://cn.bing.com/ditu/
7.MAPabc http://www.mapabc.com/ 。提供API接口,http://code.mapabc.com/
8.E都市(三维地图)http://www.edushi.com/