如何转换百度地图页面中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里面封装了坐标转换的方法和算法。

有人知道怎么做转换吗?

javascript地图 baidu-地图 JavaScript 百度

红茶护手霜 10 years, 11 months ago

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


 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
},

原始坐标和转换结果为:

结果

釹紳!綾波麗! answered 10 years, 11 months ago

Your Answer