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

yinzf_01 2013-11-23 11:06:27
从数据库取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++;
}
}

求各位大神帮帮忙,小弟不胜感激!
...全文
2515 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiutaorong 2013-12-11
  • 打赏
  • 举报
回复
我是把循环放在寻找路线找完后的回调函数里面,速度有些慢,以前我也是郁闷,这些点怎么是乱的。这个方法的速速怎么样啊?
  • 打赏
  • 举报
回复
都是异步解码,不能直接通过for语句来实现,每个解码的返回结果循序不一定按照循序返回,要通过全局变量来控制模拟for语句 var al=Array.length - 1 var now=0 function makeLine() { var gpsPoint=new BMap.Point(Array[now], Array[now + 1]); BMap.Convertor.translate(gpsPoint,0,translateCallback); now+=2; } 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++; } if(now<al) makeLine() }
yinzf_01 2013-11-23
  • 打赏
  • 举报
回复
感谢您的指导,哈哈。

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧