js调用百度API,GPS经纬度转换成百度地图经纬度,用BMap.Convertor.translate不能及时转换问题,求大神帮忙。

yinzf_01 yinzf_01 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
从数据库取GPS点,转换成百度地图经纬度,然后描点连线。
以下代码一共有两点问题:
1、数据库点的顺序是不变的,但是通过回调函数之后PointArr中的数据顺序是随机的。
2、setTimeout函数不起作用,所有的点都是一起出现,没有模拟轨迹的。
   
//调用部分
function makeLine() {
for (var i = 0; i <= Array.length - 1; i += 2) {//偶数索引存经度,奇数存维度
var gpsPoint=new BMap.Point(Array[i], Array[i + 1]);
//GPS转百度
BMap.Convertor.translate(gpsPoint,0,translateCallback);
}
}
translateCallback = function (point){

PointArr.push(point);
setTimeout("makepoly()", 1000);
}
function makepoly() {
//大于总数,返回
if(num>=total_num){
return;
}
//第一个点不画线只描点
if(num==0){
//alert(num);
var markergps = new BMap.Marker(PointArr[0]);
map.addOverlay(markergps);
num++;

}
else{
//alert(num);
var polyline = new BMap.Polyline([PointArr[num - 1], PointArr[num]], { strokeColor: "blue", strokeWeight: 3, strokeOpacity: 0.5 }); //定义折线
map.addOverlay(polyline); //添加折线到地图上
var markergps = new BMap.Marker(PointArr[num]);
map.addOverlay(markergps);
num++;
}
}

求各位大神帮帮忙,小弟不胜感激!
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
yinzf_01
JavaScript 87,983 成员 224,681 内容