Open YBFACC opened 6 months ago
import { unByKey } from 'ol/Observable.js'
const eventKey = map.on('click', (e) => { // 操作
this.forEachFeatureAtPixel(event.pixel, (feature: Feature, layer: Layer<Source, LayerRenderer<any>>, simpleGeometry: SimpleGeometry) => { // 向 feature 派发事件 feature.dispatchEvent('click') })
}) // 监听事件 feature.on('click',()=>{})
unByKey(eventKey)
2. 选择 Interaction 组件 - destroy 时:map 提供 getInteractions().clear() 处理 - select/unSelect 切换时:样式自动切换 - create 时:就需要指定 layer[] 或者 不指定(靠默认全局 + filter 来实现)。features(Collection 在内部实现了监听) 可后续添加 ```typescript import select from 'ol/interaction/Select' const selectInteraction = new select({ layers: [ /** 交互的图层 */], style: (feature) => { return /** 交互的样式 */ } }) map.removeInteraction(selectInteraction) map.getInteractions().clear()
condition: (mapBrowserEvent) => { // 减少触发 return mapBrowserEvent.type == 'pointermove' && Math.random() > 0.7 }
const eventKey = map.on('click', (e) => { // 操作
}) // 监听事件 feature.on('click',()=>{})
unByKey(eventKey)