北京经济技术开发区经开区虚拟城市项目-【前端】-移动端Web
lixuliang
2024-03-13 065669d31914a2f65c48d351417f48e49bd79c0c
src/components/sideMenu/layerTreePanel/layerTreePanel2.vue
@@ -103,7 +103,7 @@
  mounted() {
    axios.get("./static/json/layers.json").then(
      (res) => {
        // console.log("layers.json", res);
        console.log("layers.json", res);
        //获取默认选中数据的id
        this.parseJson(res.data.children);
@@ -1855,6 +1855,7 @@
        layer.item.baseLayer = true;
      }
    },
    // 市政杆体聚合
    initLdgCluster(treeNode) {
      if (treeNode.checked == false) {
        window.mapapi.removeLayer(window.ldgclusterLayer);
@@ -1940,7 +1941,7 @@
        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;
@@ -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,7 +2042,7 @@
      // 创建聚合显示样式
      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;
@@ -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,7 +2320,6 @@
          "?version=1.3.0&request=GetFeature&format=json&typename=" +
          treeNode.layer,
      });
      // 创建聚合层
      var clusterSource = new ol.source.Cluster({
@@ -2304,7 +2329,7 @@
      // 创建聚合显示样式
      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;
@@ -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);