riku
2024-07-12 6d33bf879069f2fd004f32271a4cb4c8bb8511d1
src/utils/map/marks.js
@@ -52,17 +52,8 @@
    });
    massMarks.on('click', (event) => {
      const i = event.data.id;
      // 1. 绘制扇形区域
      sector.drawSector(fDatas, i);
      // 2. 绘制对话框
      DialogUtil.openNewWindow(fDatas, i, map, lnglats[i], () => {
        // 移除扇形区域
        // clearSector3();
      });
      // 3. 自定义点击事件
      onClick();
      onClick(i);
    });
    // eslint-disable-next-line no-undef
    var marker = new AMap.Marker({
@@ -85,5 +76,66 @@
    });
    _massMarks = massMarks;
    map.add(massMarks);
  },
  createLabelMarks(img, dataList) {
    // eslint-disable-next-line no-undef
    const layer = new AMap.LabelsLayer({
      zooms: [3, 20],
      zIndex: 1000,
      // 开启标注避让,默认为开启,v1.4.15 新增属性
      collision: true,
      // 开启标注淡入动画,默认为开启,v1.4.15 新增属性
      animation: true
    });
    map.add(layer);
    // var markers = [];
    for (var i = 0; i < dataList.length; i++) {
      const data = dataList[i];
      var curData = {
        name: data.name,
        position: [data.longitude, data.latitude],
        zooms: [10, 20],
        opacity: 1,
        zIndex: 10,
        icon: {
          type: 'image',
          image: img,
          // clipOrigin: [14, 92],
          // clipSize: [50, 68],
          size: [30, 30],
          anchor: 'bottom-center',
          angel: 0,
          retina: true
        },
        text: {
          content: data.name,
          direction: 'top',
          offset: [0, -5],
          style: {
            fontSize: 16,
            fontWeight: 'normal',
            fillColor: '#fff',
            strokeColor: '#333',
            strokeWidth: 0,
            backgroundColor: '#122b54a9'
          }
        }
      };
      curData.extData = {
        index: i
      };
      // eslint-disable-next-line no-undef
      var labelMarker = new AMap.LabelMarker(curData);
      // markers.push(labelMarker);
      layer.add(labelMarker);
    }
    return layer;
  }
};