怎么把Google的地图坐标转换成百度地图的

proxy_dl 2012-06-01 02:51:21
最近在做一个地图应用,手机端用的是百度地图。但是后台传过来 的坐标是谷歌定位的坐标(因为这款应用之前有Web版的)。上网搜了好多,没有合适的解答,所以特此发帖求助。。
各位过路的神仙,帮帮忙啊~~~
...全文
9273 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yening61223 2014-04-17
  • 打赏
  • 举报
回复
我也遇到了这个问题,去百度地图找了一下,据说在这里http://developer.baidu.com/map/help_move.html申请坐标迁移,工作人员1-3个工作日回复,我正在等待答复
yinml123 2013-09-27
  • 打赏
  • 举报
回复
百度和谷歌的经纬度坐标顺序是相反的。。。
crylg 2013-08-29
  • 打赏
  • 举报
回复
返回回来的是{"error":0,"x":"MTE2LjI2MTA5OTEyMjE=","y":"MjkuODIwNTYwODc0ODQ2"} 这样的json,用base64可以解,但是得到的结果偏差很大, 这方面怎么解决呢? 因为不在想在开发中穿插js,所以希望有别的方式解决~望达人们赐教
幻影浪子 2013-01-11
  • 打赏
  • 举报
回复
引用 9 楼 MrRabbit 的回复:
不就是从http://api.map.baidu.com/ag/coord/convert这个链接得到转换的加密坐标然后通过Base64解码么,真不知道楼主哪来这么高的成就感.告诉别人怎么回事都不肯... 强烈鄙视
哈哈,就是,他不写,我写出来; 将其他坐标系转换到百度坐标系。接口样例如下: http://api.map.baidu.com/ag/coord/convert?from=2&to=4&x=116.254615&y=29.814476 参数说明: x/y:经纬度坐标 from/to:决定转换效果,具体参 数天填充如下: from=2表示谷歌 from=0表示gps to=4 表示百度
MrRabbit 2012-09-03
  • 打赏
  • 举报
回复
不就是从http://api.map.baidu.com/ag/coord/convert这个链接得到转换的加密坐标然后通过Base64解码么,真不知道楼主哪来这么高的成就感.告诉别人怎么回事都不肯... 强烈鄙视
sun9763 2012-08-09
  • 打赏
  • 举报
回复
我最近也遇上这个问题了,请问楼主是如何解决的呀?
ww32232 2012-07-13
  • 打赏
  • 举报
回复
怎么解决啊,求解释啊。。。
proxy_dl 2012-06-05
  • 打赏
  • 举报
回复
哎,其实Android上 有一个非常简单的方法,只是百度Api里没写。。。。
proxy_dl 2012-06-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

还应该加上这几句话:

JScript code


var ggPoint = new BMap.Point(x,y);
BMap.Convertor.translate(ggPoint,2,translateCallback);




至于BMap.Point的定义还没有找到的说...
[/Quote]
非常感谢哈。我是在Android平台上开发的,不过 最主要部分,就是给 那个Url发请求。
李狗蛋52635 2012-06-01
  • 打赏
  • 举报
回复
还应该加上这几句话:



var ggPoint = new BMap.Point(x,y);
BMap.Convertor.translate(ggPoint,2,translateCallback);



至于BMap.Point的定义还没有找到的说...
李狗蛋52635 2012-06-01
  • 打赏
  • 举报
回复

//2011-7-25
(function(){ //�
function load_script(xyUrl, callback){
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = xyUrl;
//t唈Query剆cript柽拐
script.onload = script.onreadystatechange = function(){
if((!this.readyState || this.readyState === "loaded" || this.readyState === "complete")){
callback && callback();
// Handle memory leak in IE
script.onload = script.onreadystatechange = null;
if ( head && script.parentNode ) {
head.removeChild( script );
}
}
};
// Use insertBefore instead of appendChild to circumvent an IE6 bug.
head.insertBefore( script, head.firstChild );
}
function translate(point,type,callback){
var callbackName = 'cbk_' + Math.round(Math.random() * 10000); //�:齪

var xyUrl = "http://api.map.baidu.com/ag/coord/convert?from="+ type + "&to=4&x=" + point.lng + "&y=" + point.lat + "&callback=BMap.Convertor." + callbackName;
//�鷖cript~
load_script(xyUrl);
BMap.Convertor[callbackName] = function(xyResult){
delete BMap.Convertor[callbackName]; //(��� d9齪
var point = new BMap.Point(xyResult.x, xyResult.y);
callback && callback(point);
}
}

window.BMap = window.BMap || {};
BMap.Convertor = {};
BMap.Convertor.translate = translate;
})();



这是你给的网页中对应的js部分,主要用到的translate函数如上,是发请求来转换的,参照可以自己来写了吧?
proxy_dl 2012-06-01
  • 打赏
  • 举报
回复
但是同一个位置 谷歌定位和 百度定位的经纬度是不一样的。好像是因为有什么偏移量的计算吧
像百度提供的这个工具 http://dev.baidu.com/wiki/static/map/API/examples/?v=1.3&0_6#0&6

但是貌似没有Android上的转换,所以比较头疼。
AMinfo 2012-06-01
  • 打赏
  • 举报
回复
同一个地球,经度和纬度都是一样的,不需要转换。

80,493

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧