$.getJSON('map/js/thgps.json',data=>{
var ddaa = data;
var dataa = ddaa.geometries[0].coordinates[0];
var map = new BMapGL.Map("container");
var point = new BMapGL.Point(114.19372379774158,23.007445935362906);
map.centerAndZoom(point, 15);
map.enableScrollWheelZoom(true);//开启鼠标滚动缩放
map.addControl(new BMapGL.ScaleControl());//开启比例尺,默认左下角
var convertor = new BMapGL.Convertor(); //定义
var m_rep=0;//回调重复次数
var m_repp=0;
var pointArr_convert = [];
var points = [];
var ggPoint;
for (let i = 0;i<dataa.length;i++){
ggPoint = new BMapGL.Point(dataa[i][0],dataa[i][1]);
points.push(ggPoint);
}
var bd = [];
translateCallback = function (data){ //回调函数
if(data.status === 0) {
bd.push(data.points[0]);
m_rep++;//回调次数记录
if(m_rep<points.length) //判断全部转换是否完成
{
pointArr_convert.length = 0; //pointArr_convert数组清零
pointArr_convert.push(points[m_rep]); //将要转换的GPS数据push到pointArr_convert数组
convertor.translate(pointArr_convert,3,5,translateCallback); //在回调函数中进行下一组转换的提交
}else {
// console.log(bd);//直接打印bd数组会出现打印丢失的问题
console.log(JSON.stringify(bd));//将bd数组转化为json数据格式,再打印就会完全了
var polygon = new BMapGL.Polygon(bd, {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});
map.addOverlay(polygon);
m_repp++;
if (m_repp<ddaa.geometries.length){
bd.length=0;
points.length=0;
pointArr_convert.length=0;
m_rep=0;
dataa = ddaa.geometries[m_repp].coordinates[0];
for ( i = 0;i<dataa.length;i++){
ggPoint = new BMapGL.Point(dataa[i][0],dataa[i][1]);
points.push(ggPoint);
}
pointArr_convert.push(points[0]);
convertor.translate(pointArr_convert,3,5,translateCallback);
}
}
}
};
pointArr_convert.push(points[0]);
convertor.translate(pointArr_convert,3,5,translateCallback);
});