百度地图中实现历史轨迹显示为BMap.InfoWindow添加多个不同时间点但相同经纬度点的信息
来源:互联网 发布:spring5.0高级编程 编辑:程序博客网 时间:2024/05/01 01:37
今天应boss要求实现巡更,既然是巡更,那么几个点在轮巡,那么显示历史轨迹时后面时刻的点的信息会覆盖前面时刻的信息,如何在一个marker上显示不同时间点的信息呢??
主要时取数据时的循环问题,后台放回的数据不变,在前台进行判断如果第i个返回的点的坐标已经在地图上显示,则显示此点的InfoWindow时,在原来的信息上追加新的信息(保留原来的信息)。因为可能重复取数据等等问题,经验不够绕来绕去终于解决了。
代码如下:
var pointarr=new Array(); for(var i = 0; i < msg.hislist.length; i++){ //alert(msg.hislist[i].point_id); if(pointarr.indexOf(i)>-1){ //alert('跳出循环');//判断是否已经已经显示过该点的信息,避免重复。 continue;} var marker=new BMap.Marker( new BMap.Point(msg.hislist[i].GPS_LONG,msg.hislist[i].GPS_LAT) ); text="<font size='2' color='#0066FF'>定位位置:</font> "+"<font size='2'>"+msg.hislist[i].address+"</font>"+"<hr style='color:#0066FF'><font size='2' color='#0066FF'>巡更人员:</font> "+"<font size='2'>"+msg.hislist[i].name+"</font>"+"<hr style='color:#0066FF'><font size='2' color='#0066FF'>定位时间:</font> "+"<font size='2'>"+msg.hislist[i].GPS_UTC+"</font>"+"<hr style='color:#0066FF'>"; for (var j=i+1;j< msg.hislist.length; j++){ if(msg.hislist[j].point_id==msg.hislist[i].point_id){ pointarr.push(j);//将已经显示过的点保存在一个数组中,这里每个点的point_id就代表巡更点的编号,也就是将相同巡更点的历史轨迹信息保存在同一个数组中 var textadd="<font size='2' color='#0066FF'>巡更人员:</font> "+"<font size='2'>"+msg.hislist[j].name+"</font>"+"<hr style='color:#0066FF'><font size='2' color='#0066FF'>定位时间:</font> "+"<font size='2'>"+msg.hislist[j].GPS_UTC+"</font>"+"<hr style='color:#0066FF'>"; text=text+textadd; } } var infoWindow = new BMap.InfoWindow(text); marker.infoWindow=infoWindow; marker.addEventListener("click",function(e){ this.openInfoWindow(e.target.infoWindow) }); maplet.addOverlay(marker); }
最后的效果如下:
0 0
- 百度地图中实现历史轨迹显示为BMap.InfoWindow添加多个不同时间点但相同经纬度点的信息
- 使用百度地图BMap.InfoWindow,分别显示不同的信息窗口
- 百度地图显示历史轨迹时经纬度的处理方法
- 实现地图上显示多mark点,自定义infoWindow,跳转高德地图和百度地图
- 百度地图InfoWindow循环显示不同的信息窗口
- 关于百度地图 BMap.InfoWindow 只显示最后一条信息解决方法
- 关于百度地图 BMap.InfoWindow 只显示最后一条信息解决方法
- 百度地图添加标注(显示多个标注点)
- 点击百度地图上任意一点,显示该点的经纬度的信息窗
- 百度地图显示多个标注点
- 百度地图显示多个标注点
- 百度地图显示多个标注点
- 百度地图绘制轨迹点
- 请问怎样在百度地图中实现根据地点名称得到该地点的经纬度
- 百度地图点聚合中marker的infowindow消失的问题
- 百度地图多个兴趣点(经纬度、坐标点)需要同时显示在地图上,如何设置自动缩放等级
- 图吧地图:①得到地图上某个位置的经纬度;②显示多个坐标点;③动态显示多个坐标点;
- Android 界面中实现高德地图 要求根据已知的经纬度 显示地图上的点!!!!
- jenkins自动部署代码上线1
- Java正则表达式学习(二)
- 深度学习-----思想篇(二)
- Python学习!
- acm 弱渣不会水题(2)--(HDU 2502)
- 百度地图中实现历史轨迹显示为BMap.InfoWindow添加多个不同时间点但相同经纬度点的信息
- VMware Tools 在Ubuntu下安装详细过程
- POJ 1011 Sticks(拯救少林神棍)__深搜
- 如何定义一个回调函数,理解回调函数调用机制
- @Controller和@RestController
- Linux(3)
- 2016年个人简历模板
- hdfs-site.xml
- PAT(A)1003 Emergency(最短路+计数)