|
@@ -126,74 +126,13 @@ onMounted(async () => {
|
|
|
|
|
|
|
|
eventBus.emit("warningMap:init", warningMap.kmap);
|
|
eventBus.emit("warningMap:init", warningMap.kmap);
|
|
|
|
|
|
|
|
- // 检查是否从地块识别页面跳转过来
|
|
|
|
|
- if (route.query.wkt) {
|
|
|
|
|
- // 使用nextTick确保所有图层都已初始化
|
|
|
|
|
- await nextTick();
|
|
|
|
|
-
|
|
|
|
|
- // 解码WKT数据
|
|
|
|
|
- const wkt = decodeURIComponent(route.query.wkt);
|
|
|
|
|
- if (wkt) {
|
|
|
|
|
- // 显示地块识别模式
|
|
|
|
|
- isLandRecognition.value = true;
|
|
|
|
|
-
|
|
|
|
|
- // 将WKT转换为distributionLayer需要的格式
|
|
|
|
|
- const plotData = {
|
|
|
|
|
- geom: wkt,
|
|
|
|
|
- color: "#00A342", // 绿色,与地块识别页面的颜色一致
|
|
|
|
|
- label: "识别地块",
|
|
|
|
|
- };
|
|
|
|
|
-
|
|
|
|
|
- // 在地图上显示地块
|
|
|
|
|
- if (distributionLayer) {
|
|
|
|
|
- try {
|
|
|
|
|
- distributionLayer.setAreaGeometry([plotData.geom]);
|
|
|
|
|
- } catch (error) {
|
|
|
|
|
- console.error("初始化地块数据失败:", error);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
|
|
+ staticMapLayers.initStaticMapLayers(warningMap.kmap);
|
|
|
|
|
+
|
|
|
// 图例数据
|
|
// 图例数据
|
|
|
eventBus.on("alarmList:warningLayers", (data) => {
|
|
eventBus.on("alarmList:warningLayers", (data) => {
|
|
|
warningLayers.value = data;
|
|
warningLayers.value = data;
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
- // 监听图表组件的地图更新事件
|
|
|
|
|
- eventBus.on("chartList:updateMap", async ({ statType }) => {
|
|
|
|
|
- if (!distributionLayer) return;
|
|
|
|
|
- // 使用 statType 参数请求地图数据
|
|
|
|
|
- getDistributionData(statType);
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- // 预警分布图层联动:仅在"预警分布"tab 显示时,才在地图上显示对应图层
|
|
|
|
|
- eventBus.on("alarmList:changeMapLayer", ({ name, legendUrl }) => {
|
|
|
|
|
- // 47 行:只在 activeBaseTab === '预警分布' 时显示预警列表
|
|
|
|
|
- // 这里保持一致:只有在该 tab 下才显示地图图层,否则直接隐藏
|
|
|
|
|
- if (activeBaseTab.value !== "预警分布") {
|
|
|
|
|
- staticMapLayers && staticMapLayers.hideAll();
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- if (legendUrl) {
|
|
|
|
|
- staticMapLayers && staticMapLayers.showSingle(name, true);
|
|
|
|
|
- } else {
|
|
|
|
|
- let text = "";
|
|
|
|
|
- if (name === "日间温度") {
|
|
|
|
|
- text = "从化地块日温";
|
|
|
|
|
- } else if (name === "夜间温度") {
|
|
|
|
|
- text = "从化地块夜温";
|
|
|
|
|
- } else if (name === "土壤水分") {
|
|
|
|
|
- text = "从化地块水分";
|
|
|
|
|
- }
|
|
|
|
|
- if (text !== "") {
|
|
|
|
|
- staticMapLayers && staticMapLayers.showSingle(text, true);
|
|
|
|
|
- } else {
|
|
|
|
|
- staticMapLayers && staticMapLayers.hideAll();
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
|
|
|
|
|
// 窗口大小改变时更新地图尺寸
|
|
// 窗口大小改变时更新地图尺寸
|
|
|
const handleResize = () => {
|
|
const handleResize = () => {
|