| | |
| | | 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 ?? []; |
| | | }); |
| | |
| | | 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); |
| | |
| | | position: [x, y], |
| | | // textColor: item.color, |
| | | extData: { |
| | | value:item, |
| | | recordSetTable:props.data |
| | | value: item, |
| | | recordSetTable: props.data, |
| | | }, |
| | | }; |
| | | }); |
| | |
| | | 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(); |
| | | }); |