如何转换百度地图页面中ajax获取的坐标为实际坐标?

直接查看百度地图地区查询获取的地区坐标格式如下:

"point": {
    "x": 12958151.62,
    "y": 4826636.87
},

请求地址为

http://api.map.baidu.com/?qt=s&c=131&wd=%E6%95%85%E5%AE%AB&rn=10&ie=utf-8&oue=1&res=api&callback=BMap._rd._cbk95582

而实际上百度最终显示的坐标为格式为:

116.402915,39.927494

其应该是在js里面封装了坐标转换的方法和算法。

有人知道怎么做转换吗?

阅读 7.2k
1 个回答

自己搞定了
大概是这么一段代码进行了经纬度信息的转换。

convertMC2LL: function(cC) {
    var cD, cF;
    cD = new b4(Math.abs(cC.lng), Math.abs(cC.lat));
    for (var cE = 0; cE < this.MCBAND.length; cE++) {
        if (cD.lat >= this.MCBAND[cE]) {
            cF = this.MC2LL[cE];
            break
        }
    }
    var T = this.convertor(cC, cF);
    var cC = new b4(T.lng.toFixed(6), T.lat.toFixed(6));
    return cC
},

原始坐标和转换结果为:

结果

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题