wujingjing
2025-01-17 67d49e1d4c6b0519803982f8028253afa9552d0f
设备显示/隐藏,聚焦到设备
已修改2个文件
17 ■■■■ 文件已修改
src/components/chat/chatComponents/summaryCom/components/recordSetTable/map/LayerControl.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/model/map/OLMap.ts 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/chat/chatComponents/summaryCom/components/recordSetTable/map/LayerControl.vue
@@ -80,7 +80,7 @@
import { onMounted, ref, watch } from 'vue';
import { useDrag } from '/@/hooks/useDrag';
import type { GaoDeSourceType, OLMap } from '/@/model/map/OLMap';
import { gaoDeSourceTypeMap } from '/@/model/map/OLMap';
import { gaoDeSourceTypeMap, MARKER_OVERLAY_CLASS_NAME, OverlayType } from '/@/model/map/OLMap';
import { sleep } from '/@/utils/util';
const searchText = ref('');
const activeTab = ref('components');
@@ -124,7 +124,12 @@
const handleNodeClick = (data: any, node: any) => {
    if (data.id === ROOT_OVERLAY_TYPE.Marker) {
        const overlays = props.olMap.map.getOverlays().getArray();
        props.olMap.adjustViewToOverlays(overlays);
        const filteredOverlays = overlays.filter((overlay) => {
            const type = overlay.get('type');
            return type === OverlayType.Marker;
        });
        props.olMap.adjustViewToOverlays(filteredOverlays);
    }
};
src/model/map/OLMap.ts
@@ -25,6 +25,9 @@
    /** @description 影像路网 */
    SatelliteRoad = 3,
}
export const enum OverlayType {
    Marker = 'marker',
}
export const MARKER_OVERLAY_CLASS_NAME = 'marker-overlay';
export const gaoDeSourceTypeMap = {
@@ -148,7 +151,6 @@
        return eleOverlay;
    }
    private createMarker(id: string, item: any, markerOpt: any): Overlay {
        // 创建图片元素
        const markerImg = document.createElement('img');
@@ -171,6 +173,7 @@
        });
        overlay.set('extData', item.extData);
        overlay.set('type', OverlayType.Marker);
        // 添加点击事件
        markerImg.addEventListener('click', (event) => {
            if (markerOpt.icon.selectUrl) {
@@ -182,7 +185,8 @@
        return overlay;
    }
     adjustViewToOverlays(overlays: Overlay[]) {
    adjustViewToOverlays(overlays: Overlay[]) {
        if (overlays.length === 0) return;
        const extent = overlays.reduce<number[] | null>((ext, item) => {
            const coord = item.getPosition();