Browse Source

聚合显示

xicheng79 3 years ago
parent
commit
2289c52902
1 changed files with 12 additions and 4 deletions
  1. 12 4
      src/components/map.vue

+ 12 - 4
src/components/map.vue

@@ -303,7 +303,7 @@ export default {
     /**
      * @description:开启聚合
      */
-    addCluster: function (layerName, style) {
+    addCluster: function (layerName, layerStyle) {
       let layer = map.getLayers().array_
       for (let i = 0; i < layer.length; i++) {
         if (layer[i].className_ === layerName) {
@@ -320,6 +320,13 @@ export default {
           source: source
         })
         targetLayer.setSource(clusterSource)
+        let style = (feature) => {
+          let lastFeature = feature.get('features')[feature.get('features').length - 1]
+          feature.set('id', lastFeature.values_.id)
+          feature.set('type', lastFeature.values_.type)
+          let style = layerStyle
+          return style
+        }
         targetLayer.setStyle(style)
       }
     },
@@ -432,6 +439,9 @@ export default {
       // 要素装载入图层
       // 1.起始点
       layer.getSource().addFeature(feature)
+      // if (!isLocate) {
+      //   layer.getSource().addFeature(feature)
+      // }
       // 2.关联线
       let fe = null
       if (isRelate && msg.relate) {
@@ -450,11 +460,9 @@ export default {
           locatedFeature = fe
           feaType = 'relate'
         }
-
         this.locateAtFeature(locatedFeature, feaType)
       }
     },
-
     /**
      * @description:根据 GeoJSON 格式数据绘制要素
      * tips:目前支持类型:Point,MultiLineString
@@ -651,7 +659,7 @@ export default {
           res.data.forEach(e => {
             that.printFeature('otherLayer', e, 'other')
           })
-          this.addCluster('otherLayer', this.cultureStyles.Point)
+          this.addCluster('otherLayer', this.moreStyles.Point)
         })
     },