js实现百度地图同时显示多个路书效果(2)

function showallrecord(starttime,endtime){//显示多条开始结束时间之间的自行车路书 var bikeId=null; $.getJSON("./GetBickIdServlet",function(json){ bikeId = json;//所有自行车编号 }); var json={ "StartTime":starttime,//开始时间 "EndTime":endtime//结束时间 }; //创建二维数组,例如pointArray[i]中i自行车编号,pointArray[i][j]为编号为i的自行车的所有借还站点信息 $.getJSON("./GetAllRecordServlet",{json:JSON.stringify(json)},function(json){ var j = 0; var stationlonlist=new Array(); var stationlatlist=new Array(); var pointArray=new Array(); var bikeIdlist = new Array(); for(var i = 0; i < bikeId.length; i++){ stationlonlist[i] = new Array(); stationlatlist[i] = new Array(); pointArray[i] = new Array(); bikeIdlist[i] = bikeId[i].BikeId; } var tt = json.length < 200?json.length:200;//如果查询出来的自行车借还站点记录多于200条,则显示200条。(待完善) for (var row = 0; row < pointArray.length; row++) { while (j < tt) { var k = j; var p = 0; var stationlon = parseFloat(json[j].Stationlon);// String类型转换成float类型 stationlonlist[row][p]=stationlon;// 将stationlon放到stationlonlist里 var stationlat = parseFloat(json[j].Stationlat); stationlatlist[row][p]=stationlat;// 将stationlat放到stationlatlist里 pointArray[row][p] = new BMap.Point(stationlon,stationlat); while (bikeIdlist[row] == json[k + 1].BikeId) { k++; p++; stationlon= parseFloat(json[k].Stationlon);// String类型转换成float类型 stationlonlist[row][p]=stationlon;// 将stationlon放到stationlonlist里 stationlat= parseFloat(json[k].Stationlat); stationlatlist[row][p] =stationlat;// 将stationlat放到stationlatlist里 pointArray[row][p] = new BMap.Point(stationlon, stationlat); } addMarkertest(pointArray,row);//添加标记点 j = k + 1; break; } var bikespeedtest = speedtest(pointArray,row);//每辆自行车路书的速度 polylinetest(pointArray,row,stationlonlist,stationlatlist);//每辆自行车借还站点间画折线 lushutest(pointArray,bikespeedtest,row,stationlonlist,stationlatlist);//每辆自行车借还站点的路书路径 } map.setViewport(pointArray); }); }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzjxjf.html