ZhuDongming
2019-07-30 4bf0125f2cbc291b763a3c0a83629a470189a771
src/main/webapp/view/uavTrajectory.jsp
@@ -76,8 +76,10 @@
            var distance=parseInt(map.getDistance(startPoint,endPoint));
            map.addOverlay(polyline);// 画两点间线
            var arrowLength;//两点间箭头长度
            if(distance<=2){
            if (distance <= 5) {
                arrowLength=0;
            } else if (distance > 5 && distance <= 10) {
                arrowLength = 2;
            }else{
                arrowLength=5;
            }
@@ -90,8 +92,10 @@
                );
                distance=parseInt(map.getDistance(trackPoints[i],trackPoints[i+1]));
                map.addOverlay(polyline);// 画两点间线
                if(distance<=2){
                if (distance <= 5) {
                    arrowLength=0;
                } else if (distance > 5 && distance <= 10) {
                    arrowLength = 2;
                }else{
                    arrowLength=5;
                }
@@ -119,18 +123,16 @@
                + "</br> 速度x:" + sensorInfo[i].e79
                + "</br> 速度y:" + sensorInfo[i].e80
                + "</br> 速度z:" + sensorInfo[i].e81;
            if (distance <= 1.9) {
                winfowText = '<p id="' + i + '" onclick="openInfo(this)">' + "时间:" + sensorInfo[i].uavDate + "</p>";
            }
            var count=0;
            for (var j=i+1;j< trackPoints.length; j++) {
                if (trackPoints[i].equals(trackPoints[j])) {
                distance = map.getDistance(trackPoints[i], trackPoints[j]).toFixed(5);
                if (distance <= 1.9) {
                    coincidentPoints.push(j);
                    count++;
                    winfowTextAdd = "</br> 时间:" + sensorInfo[j].uavDate
                        + "</br> 经度:" + sensorInfo[j].e76
                        + "</br> 纬度:" + sensorInfo[j].e77
                        + "</br> 高度:" + sensorInfo[j].e78
                        + "</br> 速度x:" + sensorInfo[j].e79
                        + "</br> 速度y:" + sensorInfo[j].e80
                        + "</br> 速度z:" + sensorInfo[j].e81;
                    winfowTextAdd = '<p id="' + j + '" onclick="openInfo(this)">' + "时间:" + sensorInfo[j].uavDate + "</p>";
                    winfowText += winfowTextAdd;
                    if(j==trackPoints.length-1){
                        marker = new BMap.Marker(trackPoints[j], {icon: endIcon, offset: new BMap.Size(0, -20)});
@@ -149,11 +151,25 @@
            }
            (function (x) {
                var infoWindow = new BMap.InfoWindow(winfowText, {enableMessage: false, width: 30});
                var infoWindow = new BMap.InfoWindow(winfowText, {enableMessage: false});
                marker.addEventListener("click", function () {
                    this.openInfoWindow(infoWindow);
                });
            })(i);
            function openInfo(e) {
                var point = new BMap.Point(sensorInfo[e.id].e76,sensorInfo[e.id].e77);
                // 创建信息窗口对象
                var infoWindow1 = new BMap.InfoWindow("时间:" + sensorInfo[e.id].uavDate
                    + "</br> 经度:" + sensorInfo[e.id].e76
                    + "</br> 纬度:" + sensorInfo[e.id].e77
                    + "</br> 高度:" + sensorInfo[e.id].e78
                    + "</br> 速度x:" + sensorInfo[e.id].e79
                    + "</br> 速度y:" + sensorInfo[e.id].e80
                    + "</br> 速度z:" + sensorInfo[e.id].e81, {enableMessage: false});
                //开启信息窗口
                map.openInfoWindow(infoWindow1, point);
            }
            if(count>0){
                var lab = new BMap.Label(count+1, {position: startPoint, offset: new BMap.Size(-7, -23)});
@@ -165,7 +181,6 @@
                    fontWeight: "bold"
                });
                map.addOverlay(lab);
            }
            map.addOverlay(marker);
            var polyline = new BMap.Polyline([
@@ -180,6 +195,7 @@
            }
        }
    }
    var longitude;
    var latitude;
    var point;
@@ -249,4 +265,5 @@
            map.addOverlay(Arrow);
        }
    };
</script>