百度地图批量坐标转换(以百度墨卡托坐标转换为百度经纬度坐标为例)
坐标常量说明
坐标转换使用方法
convertor.translate(坐标,坐标类型,需要转换成的坐标类型,转换成功后的回调函数)
以下案例为百度墨卡托坐标转换为百度经纬度坐标
if (data.code == 200) {
data.data.forEach((item,index) => {
//接口返回的坐标
let ggPoint = new BMapGL.Point(item.longitude, item.latitude);
//坐标转换完之后的回调函数
translateCallback = function(data) {
//根据转换成功的经纬度坐标进行点标记添加
if (data.status === 0) {
let img="img/other.png";
switch(item.wd){
case "vivo":img="img/vivo.png";break;
case "华为":img="img/华为.png";break;
case "京东":img="img/京东.png";break;
case "联想":img="img/联想.png";break;
case "苏宁":img="img/苏宁.png";break;
case "小米":img="img/小米.png";break;
case "OPPO":img="img/oppo.png";break;
case "移动营业厅":img="img/移动.png";break;
case "电信营业厅":img="img/电信.png";break;
case "联通营业厅":img="img/联通.png";break;
case "公寓":img="img/品牌公寓.png";break;
case "酒店":img="img/酒店.png";break;
}
//添加点标记,不同的品牌使用不同的图片做点标记
let myIcon = new BMapGL.Icon(img, new BMapGL.Size(25, 25));
let marker = new BMapGL.Marker(data.points[0], {icon: myIcon});
map.addOverlay(marker);
//接口返回数组在前面已经进行循环,此处不必再进行循环
// setTimeout(function() {
let convertor = new BMapGL.Convertor();
let pointArr = [];
pointArr.push(ggPoint);
//convertor.translate(坐标,坐标类型,需要转换成的坐标类型,转换成功后的回调函数)
convertor.translate(pointArr, COORDINATES_BD09_MC,
COORDINATES_BD09, translateCallback)
// }, 1000);
});
}else {
}