pull/139/head
lukeyan 2 years ago
parent b382fca787
commit 38903d6e42

@ -6038,11 +6038,12 @@ window.BMAP_AUTHENTIC_KEY = "iSZit9hpxlgGq28nmIyFk8lQQ21widby";
anchor: new M(10, 25), anchor: new M(10, 25),
infoWindowAnchor: new M(10, 0) infoWindowAnchor: new M(10, 0)
}) })
, Bd = new nd(I.pa + "marker_red_sprite.png", new M(50, 120), { , Bd = new nd(I.pa + "marker_red_sprite.png", new M(20, 11), {
anchor: new M(50, 120), anchor: new M(6, 11),
imageOffset: new M(-10, 40) imageOffset: new M(-19, -13)
}); });
function W(a, b) { function W(a, b) {
kb.call(this);
b = b || {}; b = b || {};
this.point = a; this.point = a;
this.Tq = this.map = p; this.Tq = this.map = p;

@ -6038,12 +6038,11 @@ window.BMAP_AUTHENTIC_KEY = "iSZit9hpxlgGq28nmIyFk8lQQ21widby";
anchor: new M(10, 25), anchor: new M(10, 25),
infoWindowAnchor: new M(10, 0) infoWindowAnchor: new M(10, 0)
}) })
, Bd = new nd(I.pa + "marker_red_sprite.png", new M(20, 11), { , Bd = new nd(I.pa + "marker_red_sprite.png", new M(50, 120), {
anchor: new M(6, 11), anchor: new M(50, 120),
imageOffset: new M(-19, -13) imageOffset: new M(-10, 40)
}); });
function W(a, b) { function W(a, b) {
kb.call(this);
b = b || {}; b = b || {};
this.point = a; this.point = a;
this.Tq = this.map = p; this.Tq = this.map = p;

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

@ -117,7 +117,6 @@ export default {
color: "blue", color: "blue",
}; };
mapList(param).then((res) => { mapList(param).then((res) => {
console.log("22222222");
this.blue_warn_comapny_list = res.data; this.blue_warn_comapny_list = res.data;
// //
this.total = res.total; this.total = res.total;

@ -0,0 +1,280 @@
<template>
<div class="map" id="container"></div>
</template>
<script>
import styleJson from "../../../../public/custom_map_config.json";
import MapLine from "../../../../public/zhenhaiLine.json";
import MapPoint from "../../../../public/zhenhaiPoint.json";
export default {
name: "WarnMap",
props: {
company_list: {
type: Array,
default: () => [],
},
},
data() {
return {
center_point: [121.604192, 29.977299],
};
},
mounted() {
//
this.init_map();
},
methods: {
//
init_map() {
let BMap = window.BMap;
let map = new BMap.Map("container", {
style: {
styleJson,
},
});
let label = new BMap.Label();
let that = this;
map.centerAndZoom(
new BMap.Point(this.center_point[0], this.center_point[1]),
13
); //
map.setMinZoom(12); //
map.setMaxZoom(19);
map.enableScrollWheelZoom(true);
showPoint();
for (var i = 0, n = MapLine.features.length; i < n; i++) {
showBoundaryEx(MapLine.features[i]);
}
//////////////// -- /////////////////
function showBoundaryEx(city) {
var paths = [];
var list = city.geometry.coordinates;
var polygon = {};
if (list.length > 1) {
for (let a = 0; a < list.length; a++) {
paths = [];
for (let i = 0; i < list[a][0].length; i++) {
let lat = list[a][0][i][1],
lng = list[a][0][i][0];
paths.push(new BMap.Point(lng, lat));
}
polygon = new BMap.Polygon(paths, {
fillColor: "#3b4c44",
strokeColor: "#0f1423",
fillOpacity: 0.6,
strokeWeight: 1,
}); //
map.addOverlay(polygon); //
}
} else {
for (let i = 0; i < list[0].length; i++) {
let lat = list[0][i][1],
lng = list[0][i][0];
paths.push(new BMap.Point(lng, lat));
}
polygon = new BMap.Polygon(paths, {
fillColor: "#3b4c44",
strokeColor: "#0f1423",
fillOpacity: 0.6,
strokeWeight: 1,
}); //
map.addOverlay(polygon); //
}
polygon.infowindow = new BMap.InfoWindow();
polygon.infowindow.name = city.properties.name;
polygon.addEventListener("mouseover", function () {
polygon.setFillColor("#ffa500");
});
polygon.addEventListener("mouseout", function () {
map.removeOverlay(label);
polygon.setFillColor("#3b4c44");
});
//
polygon.addEventListener("click", function () {
if (city.properties.name == "骆驼街道") {
map.centerAndZoom(new BMap.Point(121.58887, 29.986122), 15);
} else if (city.properties.name == "招宝山街道") {
map.centerAndZoom(new BMap.Point(121.713707, 29.95656), 15);
} else if (city.properties.name == "蛟川街道") {
map.centerAndZoom(new BMap.Point(121.686105, 29.947339), 15);
} else if (city.properties.name == "庄市街道") {
map.centerAndZoom(new BMap.Point(121.627037, 29.925579), 15);
} else if (city.properties.name == "贵驷街道") {
map.centerAndZoom(new BMap.Point(121.624142, 29.985606), 15);
} else if (city.properties.name == "澥浦镇") {
map.centerAndZoom(new BMap.Point(121.607133, 30.037162), 15);
} else if (city.properties.name == "九龙湖镇") {
map.centerAndZoom(new BMap.Point(121.558532, 30.039457), 15);
}
//
console.log("that.company_list", that.company_list);
that.company_list.forEach((item) => {
var point = new BMap.Point(item.longitude, item.latitude);
//
//
var myIcon = {};
//
if (item.color == "red") {
myIcon = new BMap.Icon(
require("@/assets/realtimeWarning/redcity.png"),
new BMap.Size(40, 60),
{
// anchor: new BMap.Size(-100, 25),
imageOffset: new BMap.Size(0, 0 - 10), //
}
);
//
} else if (item.color == "yellow") {
myIcon = new BMap.Icon(
require("@/assets/realtimeWarning/yellowcity.png"),
new BMap.Size(40, 60),
{
// anchor: new BMap.Size(-100, 25),
imageOffset: new BMap.Size(0, 0 - 10), //
}
);
// 绿
} else if (item.color == "green") {
myIcon = new BMap.Icon(
require("@/assets/realtimeWarning/greencity.png"),
new BMap.Size(40, 60),
{
// anchor: new BMap.Size(-100, 25),
imageOffset: new BMap.Size(0, 0 - 10), //
}
);
//
} else if (item.color == "blue") {
myIcon = new BMap.Icon(
require("@/assets/realtimeWarning/bluecity.png"),
new BMap.Size(40, 60),
{
// anchor: new BMap.Size(-100, 25),
imageOffset: new BMap.Size(0, 0 - 10), //
}
);
}
var marker = new BMap.Marker(point, { icon: myIcon }); //
map.addOverlay(marker);
var content = item.companyName;
var label = new BMap.Label(content, {
//
position: point, //
offset: new BMap.Size(-10, -50), //
});
label.setStyle({
backgroundColor: " rgba(0, 0, 0, 0)",
border: "0",
color: "#409EFF",
fontSize: "16px",
});
map.addOverlay(label);
label.addEventListener("click", function () {
var label_ponit = new BMap.Label(); //
label_ponit.setStyle({
color: "blue",
borderRadius: "5px",
borderColor: "#ccc",
padding: "10px",
fontSize: "16px",
fontFamily: "微软雅黑",
transform: "translateX(-50%) translateY(calc(-100% - 10px))",
});
//
label_ponit.setPosition(
new BMap.Point(item.longitude, item.latitude)
);
label_ponit.setOffset(new BMap.Size(130, -10));
label_ponit.setStyle({
width: "340px",
height: "238px",
background: "url(pbImg/气泡弹窗1.png) no-repeat",
backgroundSize: "100% 100%",
border: "0",
color: "#fff",
zIndex: 2000000000,
});
label_ponit.setContent(`
<div style='width:100%;display:flex;justify-content: space-between;align-items: center;'> <h4 style='margin:12px;font-size: 14px;color: #FFE6D9;overflow: hidden;text-overflow: ellipsis;white-space: nowrap; '>${item.companyName}</h4><div class='closeBtn' style='background: url(pbImg/关闭.png) no-repeat;width:20px;height:20px;background-size: 100% 100%;margin-right:10px;"'></div></div>
<div style='margin:0 auto;font-size: 14px;width:316px;height:108px;padding:0 12px;background: rgba(108,128,151,0.20);border: 1px solid rgba(73,84,97,1);'>
<h4 style='height:33%;opacity: 0.8;margin:0;line-height:38px;font-weight:300;'><span style="color:#D0DEEE;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">一级指标</span>${item.levelIndexOne}</h4>
<h4 style='height:33%;opacity: 0.8;margin:0;line-height:38px;font-weight:300;'><span style="color:#D0DEEE;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">预警指标</span>"${item.levelIndexThree}"异常</h4>
<h4 style='height:33%;opacity: 0.8;margin:0;line-height:38px;font-weight:300;'><span style="color:#D0DEEE;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">预警时间</span>${item.alarmTime}</h4>
<div class='zhuanchuzhiBtn' style='width:80px;height:34px;font-size: 14px;
color: #FFFFFF;
text-align:center;
line-height:34px;
background: url(pbImg/2121.png) no-repeat;
margin-top:20px;
background-size: 100% 100%;
letter-spacing: 0;
margin-left:80px;
font-weight: 400;'>转处置</div>
</div>
`);
map.addOverlay(label_ponit);
let btn = document.querySelector(".zhuanchuzhiBtn");
//console.log(btn, 'btn');
btn.addEventListener("click", () => {
//console.log(item, 'item');
that.$emit("zhuanchuzhi", item);
});
let closebtn = document.querySelector(".closeBtn");
//console.log(btn, 'btn');
closebtn.addEventListener("click", () => {
map.removeOverlay(label_ponit);
});
});
});
});
}
//////////////// /////////////////
function showPoint() {
for (let i = 0; i < MapPoint.features.length; i++) {
var opts = {
position: new BMap.Point(
MapPoint.features[i].geometry.coordinates[0],
MapPoint.features[i].geometry.coordinates[1]
), //
offset: new BMap.Size(-30, -30), //
};
//
var label1 = new BMap.Label(
MapPoint.features[i].properties.name,
opts
);
//
label1.setStyle({
color: "orange",
borderRadius: "5px",
borderColor: "#ccc",
padding: "10px",
fontSize: "16px",
height: "20px",
lineHeight: "20px",
backgroundColor: "rgba(0,0,0,0)",
border: "0",
fontFamily: "微软雅黑",
});
map.addOverlay(label1);
}
}
},
},
};
</script>
<style lang="less" scoped>
.map {
width: 100%;
height: 100%;
border: 1px solid #000000;
}
// /deep/ .BMap_Marker {
// z-index: 1000;
// background: url("../../../../public/pbImg/redcity.png") no-repeat !important;
// background-size: 100% 100% !important;
// }
</style>

@ -9,13 +9,11 @@
实时预警根据平安指数配置的预警规则辖区内的企业达到预警分值后产生即时预警 实时预警根据平安指数配置的预警规则辖区内的企业达到预警分值后产生即时预警
</div> </div>
</div> </div>
<Map <WarnMap
class="map" class="map"
:waringList="waringList"
:company_list="company_list" :company_list="company_list"
@zhuanchuzhi="chuzhi"
> >
</Map> </WarnMap>
</div> </div>
<!-- 右边预警公司区域 --> <!-- 右边预警公司区域 -->
<div class="warning_box"> <div class="warning_box">
@ -144,11 +142,11 @@ import {
addCommonApprovalProcess, addCommonApprovalProcess,
get_company_list, get_company_list,
} from "@/api/realtimeWarning"; } from "@/api/realtimeWarning";
import Map from "./map"; import WarnMap from "./components/warnMap"; //
import WarnCompany from "./components/warnCompany"; import WarnCompany from "./components/warnCompany";
export default { export default {
components: { components: {
Map, WarnMap,
WarnCompany, WarnCompany,
}, },
data() { data() {

@ -79,7 +79,7 @@ export default {
} }
var label = new BMap.Label(); var label = new BMap.Label();
showPoint(); showPoint();
showPic(); // showPic();
function showBoundaryEx(city) { function showBoundaryEx(city) {
var paths = []; var paths = [];
@ -131,7 +131,6 @@ export default {
polygon.setFillColor("#3b4c44"); polygon.setFillColor("#3b4c44");
}); });
// _1 // _1
//
polygon.addEventListener("click", function () { polygon.addEventListener("click", function () {
if (city.properties.name == "骆驼街道") { if (city.properties.name == "骆驼街道") {
map.centerAndZoom(new BMap.Point(121.58887, 29.986122), 15); map.centerAndZoom(new BMap.Point(121.58887, 29.986122), 15);
@ -155,7 +154,9 @@ export default {
var point = new BMap.Point(item.longitude, item.latitude); var point = new BMap.Point(item.longitude, item.latitude);
// //
var myIcon = new BMap.Icon( var myIcon = new BMap.Icon(
require("@/assets/realtimeWarning/red.png"), new BMap.Size(23, 25) require("@/assets/realtimeWarning/redcity.png"), new BMap.Size(60, 60),{
anchor:new BMap.Size(100,25)
}
); );
var marker = new BMap.Marker(point,{icon:myIcon}); // var marker = new BMap.Marker(point,{icon:myIcon}); //
map.addOverlay(marker); map.addOverlay(marker);
@ -264,84 +265,80 @@ font-weight: 400;'>转处置</div>
map.addOverlay(label1); map.addOverlay(label1);
} }
} }
function showPic() { // function showPic() {
console.log(that.WaringList, "that.WaringList"); // console.log(that.WaringList, "that.WaringList");
that.WaringList.forEach((item) => { // that.WaringList.forEach((item) => {
// // //
var myIcon = new BMap.Icon( // var myIcon = new BMap.Icon(
"public/dongtai/awrni.png", // "public/dongtai/awrni.png",
new BMap.Size(80, 80) // new BMap.Size(80, 80)
); // );
myIcon.setImageUrl("/dongtai/awrni.png"); // myIcon.setImageUrl("/dongtai/awrni.png");
// Marker使 // // Marker使
var marker = new BMap.Marker( // var marker = new BMap.Marker(
new BMap.Point(item.longitude, item.latitude), // new BMap.Point(item.longitude, item.latitude),
{ // {
icon: myIcon, // icon: myIcon,
} // }
); // );
console.log(marker, "marker"); // console.log(marker, "marker");
map.addOverlay(marker); // map.addOverlay(marker);
marker.addEventListener("click", function () { // marker.addEventListener("click", function () {
var label = new BMap.Label(); // var label = new BMap.Label();
label.setStyle({ // label.setStyle({
color: "blue", // color: "blue",
borderRadius: "5px", // borderRadius: "5px",
borderColor: "#ccc", // borderColor: "#ccc",
padding: "10px", // padding: "10px",
fontSize: "16px", // fontSize: "16px",
fontFamily: "微软雅黑", // fontFamily: "",
transform: "translateX(-50%) translateY(calc(-100% - 10px))", // transform: "translateX(-50%) translateY(calc(-100% - 10px))",
}); // });
// // //
label.setPosition(new BMap.Point(item.longitude, item.latitude)); // label.setPosition(new BMap.Point(item.longitude, item.latitude));
label.setOffset(new BMap.Size(130, -10)); // label.setOffset(new BMap.Size(130, -10));
label.setStyle({ // label.setStyle({
width: "340px", // width: "340px",
height: "238px", // height: "238px",
background: "url(pbImg/气泡弹窗1.png) no-repeat", // background: "url(pbImg/1.png) no-repeat",
backgroundSize: "100% 100%", // backgroundSize: "100% 100%",
border: "0", // border: "0",
color: "#fff", // color: "#fff",
zIndex: 2000000000, // zIndex: 2000000000,
}); // });
label.setContent(` // label.setContent(`
<div style='width:100%;display:flex;justify-content: space-between;align-items: center;'> <h4 style='margin:12px;font-size: 14px;color: #FFE6D9;overflow: hidden;text-overflow: ellipsis;white-space: nowrap; '>${item.companyName}</h4><div class='closeBtn' style='background: url(pbImg/关闭.png) no-repeat;width:20px;height:20px;background-size: 100% 100%;margin-right:10px;"'></div></div> // <div style='width:100%;display:flex;justify-content: space-between;align-items: center;'> <h4 style='margin:12px;font-size: 14px;color: #FFE6D9;overflow: hidden;text-overflow: ellipsis;white-space: nowrap; '>${item.companyName}</h4><div class='closeBtn' style='background: url(pbImg/.png) no-repeat;width:20px;height:20px;background-size: 100% 100%;margin-right:10px;"'></div></div>
<div style='margin:0 auto;font-size: 14px;width:316px;height:108px;padding:0 12px;background: rgba(108,128,151,0.20);border: 1px solid rgba(73,84,97,1);'> // <div style='margin:0 auto;font-size: 14px;width:316px;height:108px;padding:0 12px;background: rgba(108,128,151,0.20);border: 1px solid rgba(73,84,97,1);'>
<h4 style='height:33%;opacity: 0.8;margin:0;line-height:38px;font-weight:300;'><span style="color:#D0DEEE;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">一级指标</span>${item.levelIndexOne}</h4> // <h4 style='height:33%;opacity: 0.8;margin:0;line-height:38px;font-weight:300;'><span style="color:#D0DEEE;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;"></span>${item.levelIndexOne}</h4>
<h4 style='height:33%;opacity: 0.8;margin:0;line-height:38px;font-weight:300;'><span style="color:#D0DEEE;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">预警指标</span>"${item.levelIndexThree}"异常</h4> // <h4 style='height:33%;opacity: 0.8;margin:0;line-height:38px;font-weight:300;'><span style="color:#D0DEEE;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;"></span>"${item.levelIndexThree}"</h4>
<h4 style='height:33%;opacity: 0.8;margin:0;line-height:38px;font-weight:300;'><span style="color:#D0DEEE;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">预警时间</span>${item.alarmTime}</h4> // <h4 style='height:33%;opacity: 0.8;margin:0;line-height:38px;font-weight:300;'><span style="color:#D0DEEE;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;"></span>${item.alarmTime}</h4>
<div class='zhuanchuzhiBtn' style='width:80px;height:34px;font-size: 14px; // <div class='zhuanchuzhiBtn' style='width:80px;height:34px;font-size: 14px;
color: #FFFFFF; // color: #FFFFFF;
text-align:center; // text-align:center;
line-height:34px; // line-height:34px;
background: url(pbImg/2121.png) no-repeat; // background: url(pbImg/2121.png) no-repeat;
margin-top:20px; // margin-top:20px;
background-size: 100% 100%; // background-size: 100% 100%;
letter-spacing: 0; // letter-spacing: 0;
margin-left:80px; // margin-left:80px;
font-weight: 400;'>转处置</div> // font-weight: 400;'></div>
</div> // </div>
`); // `);
map.addOverlay(label); // map.addOverlay(label);
let btn = document.querySelector(".zhuanchuzhiBtn"); // let btn = document.querySelector(".zhuanchuzhiBtn");
//console.log(btn, 'btn'); // btn.addEventListener("click", () => {
btn.addEventListener("click", () => { // that.$emit("zhuanchuzhi", item);
//console.log(item, 'item'); // });
that.$emit("zhuanchuzhi", item); // let closebtn = document.querySelector(".closeBtn");
}); // closebtn.addEventListener("click", () => {
let closebtn = document.querySelector(".closeBtn"); // map.removeOverlay(label);
//console.log(btn, 'btn'); // });
closebtn.addEventListener("click", () => { // // label.addEventListener('mouseout', function () {
map.removeOverlay(label); // // map.removeOverlay(label);
}); // // })
// label.addEventListener('mouseout', function () { // });
// map.removeOverlay(label); // });
// }) // }
});
});
//that.flexPoint()
}
}, },
flexPoint() { flexPoint() {
var pointAll = document.querySelectorAll(".BMap_Marker.BMap_noprint"); var pointAll = document.querySelectorAll(".BMap_Marker.BMap_noprint");
@ -358,11 +355,11 @@ font-weight: 400;'>转处置</div>
border: 1px solid #000000; border: 1px solid #000000;
} }
/deep/ .BMap_Marker { // /deep/ .BMap_Marker {
z-index: 1000; // z-index: 1000;
background: url("../../../public/dongtai/awrni.png") no-repeat !important; // background: url("../../../public/dongtai/awrni.png") no-repeat !important;
background-size: 100% 100% !important; // background-size: 100% 100% !important;
} // }
.fanhui { .fanhui {
display: inline-block; display: inline-block;

Loading…
Cancel
Save