From 896c2dfc99ea2855fbc66bdcddaf7aae960a4ef9 Mon Sep 17 00:00:00 2001
From: ZhuDongming <773644075@qq.com>
Date: Tue, 03 Sep 2019 16:15:06 +0800
Subject: [PATCH] update 污染传播接口

---
 src/main/webapp/view/pollutionsource.jsp |  120 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 101 insertions(+), 19 deletions(-)

diff --git a/src/main/webapp/view/pollutionsource.jsp b/src/main/webapp/view/pollutionsource.jsp
index dbde898..bbcd5d6 100644
--- a/src/main/webapp/view/pollutionsource.jsp
+++ b/src/main/webapp/view/pollutionsource.jsp
@@ -157,6 +157,8 @@
     var latitude = params["device"]["latitude"];
     var point = new BMap.Point(longitude, latitude);
     var icon = new BMap.Icon("/img/ico00.png", new BMap.Size(50, 50));
+    var icon1 = new BMap.Icon("/img/ico01.png", new BMap.Size(50, 50));
+    var icon2 = new BMap.Icon("/img/ico02.png", new BMap.Size(50, 50));
     var marker = new BMap.Marker(point, {icon: icon, offset: new BMap.Size(0, -20)});
     map.addOverlay(marker);
     map.centerAndZoom(point, 16);
@@ -173,7 +175,6 @@
                 var windDir = parseFloat(getPollutionSourceData["e23"]);
                 var iconDir = new BMap.Icon("/img/ico07.gif", new BMap.Size(50, 50));
                 var markerDir = new BMap.Marker(dirPoint, {icon: iconDir, offset: new BMap.Size(0, -20)});
-
 
                 //centre:���������������,X:������������,Y:������������
                 function add_oval(centre, x, y) {
@@ -211,25 +212,71 @@
                 }
 
                 var distance = windSpeed * 3600;
-                var winDirStart = 240 - windDir;
-                var winDirEnd = 300 - windDir;
+                var winDirStartLeft = 240 - windDir;
+                var winDirEndLeft = 250 - windDir;
+                var winDirStartMiddle = 250 - windDir;
+                var winDirEndMiddle = 290 - windDir;
+                var winDirStartRight = 290 - windDir;
+                var winDirEndRight = 300 - windDir;
+                var winDirStart = 255 - windDir;
+                var winDirEnd = 285 - windDir;
+                var polyline1 = new BMap.Polyline([
+                        dirPoint,
+                        EOffsetBearing(dirPoint, distance, winDirStart)
+                    ],
+                    {strokeColor: "red", strokeWeight: 4, strokeOpacity: 1}
+                );
+                var polyline2 = new BMap.Polyline([
+                        dirPoint,
+                        EOffsetBearing(dirPoint, distance, winDirEnd)
+                    ],
+                    {strokeColor: "red", strokeWeight: 4, strokeOpacity: 1}
+                );
                 setTimeout(function () {
-                    var oval = new BMap.Polygon(Sector(dirPoint, distance, winDirStart, winDirEnd), {
-                        strokeColor: "grey",
-                        strokeWeight: 1,
-                        strokeOpacity: 0.8,
-                        fillColor: "grey"
+                    var ovalLeft = new BMap.Polygon(Sector(dirPoint, distance, winDirStartLeft, winDirEndLeft), {
+                        strokeColor: "#ADADAD",
+                        strokeWeight: 0.1,
+                        strokeOpacity: 0.7,
+                        fillColor: "#ADADAD"
+                    });
+                    map.addOverlay(ovalLeft);
+                    var oval = new BMap.Polygon(Sector(dirPoint, distance, winDirStartMiddle, winDirEndMiddle), {
+                        strokeColor: "#A6A6A6",
+                        strokeWeight: 0.1,
+                        strokeOpacity: 0.95,
+                        fillColor: "#A6A6A6"
                     });
                     map.addOverlay(oval);
+                    var ovalRight = new BMap.Polygon(Sector(dirPoint, distance, winDirStartRight, winDirEndRight), {
+                        strokeColor: "#ADADAD",
+                        strokeWeight: 0.1,
+                        strokeOpacity: 0.7,
+                        fillColor: "#ADADAD"
+                    });
+                    map.addOverlay(ovalRight);
                 }, 1500);
                 setTimeout(function () {
-                    var oval = new BMap.Polygon(Sector(dirPoint, distance * 0.66, winDirStart, winDirEnd), {
-                        strokeColor: "grey",
-                        strokeWeight: 1,
-                        strokeOpacity: 0.6,
-                        fillColor: "grey"
+                    var ovalLeft = new BMap.Polygon(Sector(dirPoint, distance * 0.66, winDirStartLeft, winDirEndLeft), {
+                        strokeColor: "#ADADAD",
+                        strokeWeight: 0.1,
+                        strokeOpacity: 0.5,
+                        fillColor: "#ADADAD"
+                    });
+                    map.addOverlay(ovalLeft);
+                    var oval = new BMap.Polygon(Sector(dirPoint, distance * 0.66, winDirStartMiddle, winDirEndMiddle), {
+                        strokeColor: "#A6A6A6",
+                        strokeWeight: 0.1,
+                        strokeOpacity: 0.75,
+                        fillColor: "#A6A6A6"
                     });
                     map.addOverlay(oval);
+                    var ovalRight = new BMap.Polygon(Sector(dirPoint, distance * 0.66, winDirStartRight, winDirEndRight), {
+                        strokeColor: "#ADADAD",
+                        strokeWeight: 0.1,
+                        strokeOpacity: 0.7,
+                        fillColor: "#ADADAD"
+                    });
+                    map.addOverlay(ovalRight);
                     var polyline = new BMap.Polyline([
                             dirPoint,
                             point
@@ -239,16 +286,51 @@
                     addArrow(polyline, 0, Math.PI / 7, temperature, humidity, windSpeed, windDir);
                 }, 1000);
                 setTimeout(function () {
-                    var oval = new BMap.Polygon(Sector(dirPoint, distance * 0.33, winDirStart, winDirEnd), {
-                        strokeColor: "grey",
-                        strokeWeight: 1,
-                        strokeOpacity: 0.4,
-                        fillColor: "grey"
+                    var ovalLeft = new BMap.Polygon(Sector(dirPoint, distance * 0.33, winDirStartLeft, winDirEndLeft), {
+                        strokeColor: "#ADADAD",
+                        strokeWeight: 0.1,
+                        strokeOpacity: 0.3,
+                        fillColor: "#ADADAD"
                     });
+                    map.addOverlay(ovalLeft);
+                    var oval = new BMap.Polygon(Sector(dirPoint, distance * 0.33, winDirStartMiddle, winDirEndMiddle), {
+                        strokeColor: "#A6A6A6",
+                        strokeWeight: 0.1,
+                        strokeOpacity: 0.55,
+                        fillColor: "#A6A6A6"
+                    });
+                    var ovalRight = new BMap.Polygon(Sector(dirPoint, distance * 0.33, winDirStartRight, winDirEndRight), {
+                        strokeColor: "#ADADAD",
+                        strokeWeight: 0.1,
+                        strokeOpacity: 0.7,
+                        fillColor: "#ADADAD"
+                    });
+                    map.addOverlay(ovalRight);
                     map.addOverlay(markerDir);
+                    var marker1 = new BMap.Marker(EOffsetBearing(dirPoint, distance * 0.15, winDirStart), {
+                        icon: icon2,
+                        offset: new BMap.Size(0, -20)
+                    });
+                    var marker2 = new BMap.Marker(EOffsetBearing(dirPoint, distance * 0.31, winDirEnd), {
+                        icon: icon2,
+                        offset: new BMap.Size(0, -20)
+                    });
+                    var marker3 = new BMap.Marker(EOffsetBearing(dirPoint, distance * 0.61, winDirStart), {
+                        icon: icon1,
+                        offset: new BMap.Size(0, -20)
+                    });
+                    var marker4 = new BMap.Marker(EOffsetBearing(dirPoint, distance * 0.78, winDirEnd), {
+                        icon: icon1,
+                        offset: new BMap.Size(0, -20)
+                    });
+                    map.addOverlay(marker1);
+                    map.addOverlay(marker2);
+                    map.addOverlay(marker3);
+                    map.addOverlay(marker4);
                     map.addOverlay(oval);
+                    map.addOverlay(polyline1);// ���������������
+                    map.addOverlay(polyline2);// ���������������
                 }, 500);
-
 
                 var winfowTextCause = "<p style='height: 44px;line-height: 22px'>���������������������������������������������������������������������������������������������������������������������</p>";
                 var winfowTextSource;

--
Gitblit v1.8.0