ZhuDongming
2019-09-03 896c2dfc99ea2855fbc66bdcddaf7aae960a4ef9
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;