// 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的示例代码。
需要注意几点:
BMap.Convertor()是JavaScript API提供的专门用于不同坐标系间相互转换的工具类。translate()方法的第二个参数1表示源坐标为WGS84。translate()方法的第三个参数5表示目标坐标为BD09。data.status === 0表示成功状态码。
该代码可以直接在加载了Baidu Map JavaScript API的环境中使用。
二: 对于几百个点的批量转换,建议采用以下方案:
-
Web服务API(推荐方案):
- 单次请求最多支持100个点的批量转换
- API地址为
/geoconv/v1/ - HTTP GET/POST方式调用
-
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); } }); } }
^_^ 亲爱的客官,如果您觉得本文对您有好处,请移动你的鼠标点点下面的关注我,一起学习,一起分享.~ ^_^
浙公网安备 33010602011771号