wujingjing
2025-01-17 4e04b16f7bf497502508101c45ef6ff0209b13e2
src/components/chat/chatComponents/summaryCom/components/recordSetTable/map/BasicMap.vue
@@ -46,11 +46,23 @@
import equipSelectPic from './img/equip-select.svg';
import equipPic from './img/equip.svg';
import LayerControl from './LayerControl.vue';
import { OLMap } from '/@/model/map/OLMap';
import { GaoDeSourceType, OLMap } from '/@/model/map/OLMap';
const props = defineProps<{
   data: any;
}>();
const props = withDefaults(
   defineProps<{
      data: any;
      config?: {
         sourceType: GaoDeSourceType;
         markerIsVisible: boolean;
      };
   }>(),
   {
      config: () => ({
         sourceType: GaoDeSourceType.Vector,
         markerIsVisible: true,
      }),
   }
);
const colsArray = computed(() => {
   return props.data.cols ?? [];
});
@@ -72,7 +84,7 @@
const showInfoWindow = (overlay: Overlay) => {
   const position = overlay.getPosition();
   const row = overlay.get('extData')?.value;
   if(!row) return;
   if (!row) return;
   lastOverlay && setMarkerIcon(lastOverlay, equipPic);
   infoWindowIsShow.value = true;
   infoWindowOverlay.setPosition(position);
@@ -99,8 +111,8 @@
         position: [x, y],
         // textColor: item.color,
         extData: {
            value:item,
            recordSetTable:props.data
            value: item,
            recordSetTable: props.data,
         },
      };
   });
@@ -123,12 +135,18 @@
const initMap = () => {
   olMap.value = new OLMap({
      container: containerRef.value,
      sourceType: props.config?.sourceType,
      markerIsVisible: props.config?.markerIsVisible,
   });
   addMarkerLayer();
   infoWindowOverlay = olMap.value.createEleOverlay(infoWindowRef.value);
   olMap.value.map.addOverlay(infoWindowOverlay);
};
defineExpose({
   olMap: olMap,
});
onMounted(() => {
   initMap();
});