|
@@ -90,39 +90,45 @@ export default defineComponent({
|
|
|
l.getSource().removeFeature(feat)
|
|
|
state.tempUUID = ''
|
|
|
state.closeOverlay.setPosition(undefined)
|
|
|
+ ToolDraw.refreshModify(props.map, l.getSource())
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
onMounted(() => {
|
|
|
- state.closeOverlay = new ol.Overlay({
|
|
|
- id: 'toolOverlay',
|
|
|
- element: ref_close.value,
|
|
|
- autoPan: false,
|
|
|
- offset: [0, -10],
|
|
|
- positioning: 'bottom-center',
|
|
|
- stopEvent: true,
|
|
|
- autoPanAnimation: {
|
|
|
- duration: 250
|
|
|
- }
|
|
|
- })
|
|
|
- props.map?.addOverlay(state.closeOverlay)
|
|
|
- props.map?.on('singleclick', (e) => {
|
|
|
- let flag = false
|
|
|
- props.map?.forEachFeatureAtPixel(e.pixel, (f) => {
|
|
|
- if (!flag && f.get('layerName') === 'toolDrawViewsLayer' && f.get('isInit')) {
|
|
|
- flag = true
|
|
|
- if (state.tempUUID !== f.getId()) {
|
|
|
- state.tempUUID = f.getId()
|
|
|
- state.closeOverlay.setPosition(e.coordinate)
|
|
|
- } else {
|
|
|
- state.tempUUID = ''
|
|
|
- state.closeOverlay.setPosition(undefined)
|
|
|
- }
|
|
|
+ const id = 'toolOverlay'
|
|
|
+ if (props.map?.getOverlayById(id)) {
|
|
|
+ state.closeOverlay = props.map?.getOverlayById(id)
|
|
|
+ } else {
|
|
|
+ state.closeOverlay = new ol.Overlay({
|
|
|
+ id: id,
|
|
|
+ element: ref_close.value,
|
|
|
+ autoPan: false,
|
|
|
+ offset: [0, -10],
|
|
|
+ positioning: 'bottom-center',
|
|
|
+ stopEvent: true,
|
|
|
+ autoPanAnimation: {
|
|
|
+ duration: 250
|
|
|
}
|
|
|
- }, {
|
|
|
- hitTolerance: 0,
|
|
|
- });
|
|
|
- })
|
|
|
+ })
|
|
|
+ props.map?.addOverlay(state.closeOverlay)
|
|
|
+ props.map?.on('singleclick', (e) => {
|
|
|
+ let flag = false
|
|
|
+ props.map?.forEachFeatureAtPixel(e.pixel, (f) => {
|
|
|
+ if (!flag && f.get('layerName') === 'toolDrawViewsLayer' && f.get('isInit')) {
|
|
|
+ flag = true
|
|
|
+ if (state.tempUUID !== f.getId()) {
|
|
|
+ state.tempUUID = f.getId()
|
|
|
+ state.closeOverlay.setPosition(e.coordinate)
|
|
|
+ } else {
|
|
|
+ state.tempUUID = ''
|
|
|
+ state.closeOverlay.setPosition(undefined)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ hitTolerance: 0,
|
|
|
+ });
|
|
|
+ })
|
|
|
+ }
|
|
|
})
|
|
|
return {
|
|
|
...toRefs(state),
|