From 6e0674202dc88b69a0fafc6631bc9a92889f2b3e Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Wed, 02 Dec 2020 15:11:28 +0800
Subject: [PATCH] 修改Webcontroller调用方法BUG

---
 src/main/webapp/view/cartrajectory.jsp |   68 +++++++++++++++++++++++++++++++++-
 1 files changed, 66 insertions(+), 2 deletions(-)

diff --git a/src/main/webapp/view/cartrajectory.jsp b/src/main/webapp/view/cartrajectory.jsp
index 19395c6..700a48b 100644
--- a/src/main/webapp/view/cartrajectory.jsp
+++ b/src/main/webapp/view/cartrajectory.jsp
@@ -263,6 +263,26 @@
     }
     var trackPoints = []; //���������������������������������������������������������������
     if (sensorInfo.length > 0) {
+        for (var i = 0; i <sensorInfo.length ; i++) {
+            if (typeof (sensorInfo[i]["e76"]) == "undefined") {
+                sensorInfo.splice(i,1);
+                i--;
+            }else {
+                var lon = parseFloat(sensorInfo[i].e76.substr(0, sensorInfo[i].e76.length - 1));
+                var lat = parseFloat(sensorInfo[i].e77.substr(0, sensorInfo[i].e77.length - 1));
+                if (lon>150 || lon<70 || lat<=20 || lat>60){
+                    sensorInfo.splice(i,1);
+                    i--;
+                }
+                if (i>1){
+                    if (sensorInfo[i]["e76"]==sensorInfo[i-1]["e76"] && sensorInfo[i]["e77"]==sensorInfo[i-1]["e77"]){
+                        sensorInfo.splice(i,1);
+                        i--;
+                    }
+                }
+            }
+        }
+
         $.each(sensorInfo, function (item, value) {
             if (typeof (value.e76) == "undefined") {
                 showNoFlightTrajectory();
@@ -301,7 +321,7 @@
             } else if (pm2_5 > 150) {
                 traceColor = "#FF0000";
             }
-            drowLine(map, trackPoints[i], trackPoints[i + 1], traceColor);//������������
+            drowLine(map, trackPoints[i],trackPoints[0].lat, trackPoints[i + 1], traceColor,sensorInfo[i]);//������������
             i = i + 1;
         }, 20);
     }
@@ -316,7 +336,7 @@
     }
 
     // ������
-    function drowLine(map, PointArr, PointArrNext, traceColor) {
+    function drowLine(map, PointArr,lat, PointArrNext, traceColor,info) {
         if (PointArrNext != undefined) {
             var polyline = new BMap.Polyline(
                 [
@@ -329,12 +349,56 @@
                     strokeOpacity: 1
                 });   //������������
             map.addOverlay(polyline);
+            var winOpts = {
+                width: 250, // ������������������
+                height: 195, // ������������������
+            }
+            var textArea = "<div style='width: 250px;height: 200px;margin-left: -8px'>";
+            if (lat==PointArr.lat){
+                var data="<p style='line-height:150px;color: red;font-size: 24px;text-align: center '>"+"������������"+"</p>"
+                textArea=textArea+data+"</div>";
+            }else {
+                var data="<p style='height: 30px;font-size: 15px;font-weight: bold;padding: 10px 0 0 13px;color: #2aabd2'>"+"������������"+"</p>";
+                data=data+"<p style='padding:10px 0 0 18px '>"+"���������"+info["time"]+"</p>";
+                if (typeof(info["e1"])!="undefined"){
+                    data=data+"<p style='padding:10px 0 0 18px '>"+"PM2.5���"+info["e1"]+"</p>";
+                }
+                if (typeof(info["e2"])!="undefined"){
+                    data=data+"<p style='padding:10px 0 0 18px '>"+"PM10���"+info["e2"]+"</p>";
+                }
+
+                if (typeof(info["e40"])!="undefined"){
+                    data=data+"<p style='padding:10px 0 0 18px '>"+"TSP���"+info["e40"]+"</p>";
+                }
+
+                if (typeof (info["e17"])!="undefined"){
+                    data=data+"<p style='padding:10px 0 0 18px '>"+"VOCs���������"+info["e17"]+"</p>";
+                }
+                textArea=textArea+data+"</div>";
+            }
+
+            var infoWindow = new BMap.InfoWindow(textArea,winOpts);
+            var lon = parseFloat(info.e76.substr(0, info.e76.length - 1));
+            var lat = parseFloat(info.e77.substr(0, info.e77.length - 1));
+            var lon1 = GPS.gcj_encrypt(lat, lon).lon;
+            var lat1 = GPS.gcj_encrypt(lat, lon).lat;
+            var lon2 = GPS.bd_encrypt(lat1, lon1).lon;
+            var lat2 = GPS.bd_encrypt(lat1, lon1).lat;
+            var point1=new BMap.Point(lon2,lat2);
+            polyline.addEventListener('mouseover',function () {
+                map.openInfoWindow(infoWindow,point1); //������������������
+            })
+            polyline.addEventListener('mouseout',function () {
+                map.closeInfoWindow(infoWindow,point1); //������������������
+            })
             addMarkerEnd(new BMap.Point(PointArrNext.lng, PointArrNext.lat), '������������', map, PointArrNext, new BMap.Point(PointArr.lng, PointArr.lat));//������������
         } else {
             addMarkerEnd(new BMap.Point(PointArr.lng, PointArr.lat), '������', map);//������������������
         }
     }
 
+
+
     //���������������������������
     function addMarkerEnd(point, name, mapInit, trackUnit, prePoint) {
         if (name == "������������") {

--
Gitblit v1.8.0