在百度地图api,经纬度怎么转换成百度坐标?

发布于 2022-08-25 01:36:59 字数 134 浏览 15 评论 0

百度地图提供了谷歌坐标和GPS坐标到百度坐标转换的示例,但是我们系统中使用的是经纬度,不知道怎么转换成百度坐标。

soso地图就可以直接使用经纬度,不明白百度为什么要设置这个障碍?

如果明天还没有找到怎么转换就使用soso地图了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

天邊彩虹 2022-09-01 01:36:59

其中wgs84就是经纬度坐标

坐标转换服务
坐标转换接口说明
将其他坐标系转换到百度坐标系。接口样例如下:
http://api.map.baidu.com/ag/coord/con...
参数说明:
x/y:经纬度坐标
from/to:决定转换效果,具体参数天填充如下:
坐标系 参数
WGS-84坐标系(GPS) from=0,to=4
GCJ-02坐标系(谷歌、soso、搜狗) from=2,to=4
51地图坐标系 (需要先将51地图坐标除10000)from=2,to=4
mapbar坐标系 需要先调用后面的转换算法,得到WGS84坐标,再使用:from=0,to=4
返回结果:
json数组,error表明错误号,x、y是经过base64加密的字符串,需要自反解

附:mapbar坐标转换算法,输入为mapbar坐标,输出为gps坐标(js代码描述)

function mapBar2WGS84(x,y){
x = parseFloat(x)*100000%36000000;
y = parseFloat(y)*100000%36000000;

x1 = parseInt(-(((Math.cos(y/100000))*(x/18000))+((Math.sin(x/100000))*(y/9000)))+x);
y1 = parseInt(-(((Math.sin(y/100000))*(x/18000))+((Math.cos(x/100000))*(y/9000)))+y);

x2 = parseInt(-(((Math.cos(y1/100000))*(x1/18000))+((Math.sin(x1/100000))*(y1/9000)))+x+((x>0)?1:-1));
y2 = parseInt(-(((Math.sin(y1/100000))*(x1/18000))+((Math.cos(x1/100000))*(y1/9000)))+y+((y>0)?1:-1));

return [x2/100000.0,y2/100000.0];
}

限制
每秒访问少于50次

示例
利用JSONP的方式,进行跨域访问。示例链接:
http://dev.baidu.com/wiki/static/map/...

批量坐标转换接口(高级)
接口参数说明:
1.单组坐标转换与以前请求的url格式不变
2.批量坐标转换请求url多加一个参数‘mode’,当mode=1时请求批量坐标转换接口,当mode为其他值时请求单组坐标转换接口。
参数中每组x坐标间以逗号分隔,每组y坐标间以逗号分隔。如:
http://api.map.baidu.com/ag/coord/con...
3.批量坐标转换坐标组数上限为20个,超过20个则只返回20个结果

返回结果说明:
1.数据以json格式返回
2.单组坐标转换返回格式与之前相同
3.批量坐标转换返回格式:
[{"error":0,"x":"NDAuMDA2NjY4MzUzNTg3","y":"MTE2LjAwNTkyMzYyNTU1"},{"error":0,"x":"NTAuMDA2Njc1NDk5OTY3","y":"MTE3LjAwNTkyNDk5OTg1"}]
批量转换限制
每秒访问少于50次,一次20个。

批量示例
利用JSONP的方式,进行跨域访问。示例链接:
http://dev.baidu.com/wiki/static/map/...

爱你不解释 2022-09-01 01:36:59

连屏幕像素点的坐标转换代码都在这里了 https://gist.github.com/aisk/3735854

允世 2022-09-01 01:36:59

网上有类似的答案,

http://api.map.baidu.com/ag/coord/con...
其中x是经度,y是维度
返回结果是base64加密,
php中可以用base64_decode解密。

百度地图javascript API官网上也有坐标转换的API示例,上面有js源代码
例如gps坐标转百度坐标,http://developer.baidu.com/map/jsdemo...
在这里也有更多功能可以查看

栖迟 2022-09-01 01:36:59

其实soso地图肯定也是后台把经纬度转换成自己的坐标了,测绘局是不会允许没有经过加密的地图数据流出到公共用途的

情深如许 2022-09-01 01:36:59

http://www.haoservice.com/docs/9 支持百度,谷歌,gps经纬度的转换,很好用

苏别ゝ 2022-09-01 01:36:59

尼玛的现在怎么都这样了 弄个坐标转换还收费 有没有一点程序员开源精神呢!鄙视这些东西

深海蓝天 2022-09-01 01:36:59

Google地图百度地图GPS经纬度偏移转换(JAVA)
http://my.oschina.net/Thinkeryjgfn/blog/402565

酷炫老祖宗 2022-09-01 01:36:59

百度提供的API需要网络请求才能转换坐标系,性能很低。

gcoord这个库可以直接离线转换坐标,支持各种常用的坐标系

https://github.com/hujiulong/...

百度地图的坐标系是BD09,从GPS设备获取的经纬度是WGS84坐标系
用gcoord直接这样就可以转了

var result = gcoord.transform(
    [ 116.403988, 39.914266 ],    // 经纬度坐标
    gcoord.BD09,
    gcoord.WGS84
);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文