From 0cae92b7ed0a080f74df6a30c0d68d2d0b45ec70 Mon Sep 17 00:00:00 2001 From: 少年 <1392120328@qq.com> Date: 星期三, 13 三月 2024 11:32:49 +0800 Subject: [PATCH] Merge branch 'master' of http://103.135.160.14:9034/r/PM20221203225_MobileWeb --- src/components/sideMenu/layerTreePanel/layerTreePanel2.vue | 76 +++++++++++++++++++++++++++++++++----- 1 files changed, 66 insertions(+), 10 deletions(-) diff --git a/src/components/sideMenu/layerTreePanel/layerTreePanel2.vue b/src/components/sideMenu/layerTreePanel/layerTreePanel2.vue index 51426ba..3d49580 100644 --- a/src/components/sideMenu/layerTreePanel/layerTreePanel2.vue +++ b/src/components/sideMenu/layerTreePanel/layerTreePanel2.vue @@ -1855,6 +1855,7 @@ layer.item.baseLayer = true; } }, + // 甯傛斂鏉嗕綋鑱氬悎 initLdgCluster(treeNode) { if (treeNode.checked == false) { window.mapapi.removeLayer(window.ldgclusterLayer); @@ -1890,7 +1891,7 @@ source: clusterSource, style: function (feature) { var size = feature.get("features").length; - if (size <= 100) { + if (size == 1) { return new ol.style.Style({ image: new ol.style.Icon({ anchor: [0.5, 1], @@ -1940,11 +1941,11 @@ window.mapapi.addLayer(window.ldgclusterLayer); } else if (treeNode.name == "璺悕鐗屾潌 ") { - window.tldgclusterLayer = new ol.layer.Vector({ + window.tldgclusterLayer = new ol.layer.Vector({ source: clusterSource, style: function (feature) { var size = feature.get("features").length; - if (size <= 100) { + if (size == 1) { return new ol.style.Style({ image: new ol.style.Icon({ anchor: [0.5, 1], @@ -1999,7 +2000,20 @@ window.mapapi.removeLayer(window.jkspclusterLayer); window.mapapi.removeLayer(window.qiyeclusterLayer); loading.close(); + window.mapapi.getView().on("change:resolution", function (event) { + if ( + window.mapapi.getView().getZoom() == + window.mapapi.getView().getMaxZoom() + ) { + console.log("max"); + + clusterSource.setDistance(0); + } else { + clusterSource.setDistance(40); + } + }); }, + // 瑙嗛鐩戞帶鑱氬悎 initCluster(treeNode) { if (treeNode.checked == false) { window.mapapi.removeLayer(window.jkspclusterLayer); @@ -2028,11 +2042,11 @@ // 鍒涘缓鑱氬悎鏄剧ず鏍峰紡 var styleCache = {}; - window.jkspclusterLayer = new ol.layer.Vector({ + window.jkspclusterLayer = new ol.layer.Vector({ source: clusterSource, style: function (feature) { var size = feature.get("features").length; - if (size <= 100) { + if (size == 1) { return new ol.style.Style({ image: new ol.style.Icon({ anchor: [0.5, 1], @@ -2087,6 +2101,18 @@ window.mapapi.removeLayer(window.qiyeclusterLayer); window.mapapi.addLayer(window.jkspclusterLayer); loading.close(); + window.mapapi.getView().on("change:resolution", function (event) { + if ( + window.mapapi.getView().getZoom() == + window.mapapi.getView().getMaxZoom() + ) { + console.log("max"); + + clusterSource.setDistance(0); + } else { + clusterSource.setDistance(40); + } + }); // new Cesium.GeoJsonDataSource.load( // treeNode.urls + // "?version=1.3.0&request=GetFeature&format=json&typename=" + @@ -2274,7 +2300,7 @@ // }); }); }, - //浼佷笟淇℃伅鍔犺浇 + //浼佷笟淇℃伅鑱氬悎 qiyeCluster(treeNode) { if (treeNode.checked == false) { window.mapapi.removeLayer(window.qiyeclusterLayer); @@ -2294,21 +2320,20 @@ "?version=1.3.0&request=GetFeature&format=json&typename=" + treeNode.layer, }); - // 鍒涘缓鑱氬悎灞� var clusterSource = new ol.source.Cluster({ - distance: 200, + distance: 40, source: vectorSource, }); // 鍒涘缓鑱氬悎鏄剧ず鏍峰紡 var styleCache = {}; - window.qiyeclusterLayer = new ol.layer.Vector({ + window.qiyeclusterLayer = new ol.layer.Vector({ source: clusterSource, style: function (feature) { var size = feature.get("features").length; - if (size <= 1300) { + if (size == 1) { return new ol.style.Style({ image: new ol.style.Icon({ anchor: [0.5, 1], @@ -2385,7 +2410,38 @@ window.mapapi.removeLayer(window.jkspclusterLayer); window.mapapi.addLayer(window.qiyeclusterLayer); loading.close(); + window.mapapi.getView().on("change:resolution", function (event) { + if ( + window.mapapi.getView().getZoom() == + window.mapapi.getView().getMaxZoom() + ) { + clusterSource.setDistance(0); + } else { + clusterSource.setDistance(40); + } + }); + // 鐩戝惉鍦板浘鍗曞嚮浜嬩欢 + // window.mapapi.on("singleclick", function (e) { + // var pixel = window.mapapi.getEventPixel(e.originalEvent); + // var currentFeature = window.mapapi.forEachFeatureAtPixel( + // pixel, + // function (feature, layer) { + // return feature; + // } + // ); + // if (currentFeature) { + // var features = currentFeature.get("features"); + // if (features.length > 1) { + // console.log(features); + // window.alert("褰撳墠鑱氬悎鍦堜笅鍏辨湁" + features.length + "涓绱�"); + // } + // if (features.length == 1) { + // console.log(features); + // window.alert("褰撳墠瑕佺礌鏈鑱氬悎锛屽彧鏈�" + features.length + "涓绱�"); + // } + // } + // }); // let dataSource; // if (treeNode.layer == "浼佷笟閾句紒涓�") { // // console.log(store.qiyeJsonInfo); -- Gitblit v1.9.3