无人机管理后台前端(已迁走)
xiaoxiao
2025-06-16 c207f06e264f3d7d091494712820ae3e1d73d700
feat:地图带颜色小点
1 files modified
22 ■■■■ changed files
src/views/dataCenter/components/dataCenterMap.vue 22 ●●●● patch | view | raw | blame | history
src/views/dataCenter/components/dataCenterMap.vue
@@ -3,7 +3,6 @@
    <div class="mapBox">
      <div v-if="isShow" id="dataCenterMap" class="ztzf-cesium"></div>
    </div>
  </el-dialog>
</template>
@@ -89,8 +88,9 @@
const restoreAllIcons = () => {
  dataPointEntities.value.forEach(entity => {
    if (entity.billboard) {
      const status = entity?.properties?._customData?._value?.data.status;
      entity.billboard.image =
        props.dotData.resultType === 2 ? getEventImage(entity.status) : defaultIcon;
        status === 1 || status === null ? defaultIcon : getEventImage(status);
    }
  });
  activeEntity.value = null;
@@ -110,8 +110,10 @@
  // 恢复所有点的默认图标
  restoreAllIcons();
  if (currentClickEntity.billboard) {
    const status = currentClickEntity?.properties?._customData?._value?.data.status;
    console.log('stayus', currentClickEntity?.properties?._customData?._value?.data);
    currentClickEntity.billboard.image =
      props.dotData.resultType === 2 ? getEventImage(currentClickEntity.status) : activeIcon;
      status === 1 || status === null ? activeIcon : getEventActiveImage(status);
    currentClickEntity.billboard.scale = 1; // 可选缩放效果
    activeEntity.value = currentClickEntity;
  }
@@ -168,7 +170,7 @@
        pixelOffset: new Cesium.Cartesian2(0, 55),
      },
      billboard: {
        image: props.dotData.resultType === 2 ? getEventImage(item.status) : defaultIcon, // 初始为默认图标
        image: item.status == null || item.status === 1 ? defaultIcon : getEventImage(item.status), // 初始为默认图标
        width: 40,
        height: 40,
        pixelOffset: new Cesium.Cartesian2(0, -15),
@@ -241,8 +243,8 @@
  try {
    const res = await getMapInfoAPI(ids);
    dataPointList.value = res.data.data || [];
    console.log('dataPointList.value',dataPointList.value);
    console.log('dataPointList.value', dataPointList.value);
    // 确保地图已初始化后再渲染
    if (isMapInitialized.value && viewer) {
      renderDataPoint(dataPointList.value);
@@ -252,11 +254,14 @@
  }
};
const isViewerReady = ref(false);
/**
 * 初始化标注添加
 * @param data 数据
 */
const initEntityOrPopup = data => {
  console.log('data', data);
  //地图点在范围内
  watch(
    () => isMapInitialized.value,
@@ -297,16 +302,13 @@
  }
});
onMounted(() => {
});
onMounted(() => {});
onBeforeUnmount(() => {
  if (viewer) {
    viewer.destroy();
  }
  removeHandler();
  clearDataPoints();
});
// 暴露方法给父组件