// JavaScript示例 - 使用百度地图API进行坐标转换
var convertor = new BMap.Convertor();
var point = new BMap.Point(153.5909909, 38.8438249); // WGS84坐标点

convertor.translate([point], 1 /*WGS84*/, 5 /*BD09*/, function(data){
    if(data.status === 0) {
        var bdPoint = data.points[0];
        console.log("转换后BD09坐标:", bdPoint.lng + "," + bdPoint.lat);
    }
});

一:这是一个标准的JavaScript方式将WGS84转换为BD09的示例代码。

需要注意几点:

  1. BMap.Convertor()是JavaScript API提供的专门用于不同坐标系间相互转换的工具类。
  2. translate()方法的第二个参数1表示源坐标为WGS84。
  3. translate()方法的第三个参数5表示目标坐标为BD09。
  4. data.status === 0表示成功状态码。

该代码可以直接在加载了Baidu Map JavaScript API的环境中使用。

 

二: 对于几百个点的批量转换,建议采用以下方案:

  1. Web服务API(推荐方案):

    • 单次请求最多支持100个点的批量转换
    • API地址为 /geoconv/v1/
    • HTTP GET/POST方式调用
  2. JavaScript分批处理:

// JavaScript分批处理方案(每批10个点)
function batchConvert(points) {
    const batchSize = 10;
    for(let i=0; i<points.length; i+=batchSize) {
        const batch = points.slice(i, i+batchSize);
        convertor.translate(batch, 1, 5, function(data){
            if(data.status === 0) {
                console.log("批次"+ (i/batchSize+1) +"结果:", data.points);
            }
        });
    }
}