1、地圖點擊事件
單擊:
/* 監(jiān)聽地圖的單擊事件,如果點擊的是矢量元素則進行相關(guān)操作 */
// selfMap.OlMap===map
selfMap.OlMap.on('click', (evt) => {
/* 檢測視口中的矢量特征 */
const featureInfo = selfMap.OlMap.forEachFeatureAtPixel(evt.pixel, (feature, layerVetor) => feature);
console.log(featureInfo);
if (featureInfo) {
// console.log(featureInfo.get('point'));
dkqj();
}
});
雙擊:
// mapMode.ol===map
mapMode.ol.on('dblclick', (a) => {
/* // eslint-disable-next-line prefer-destructuring
pointLngLat.latitude = a.frameState.extent[1];
// eslint-disable-next-line prefer-destructuring
pointLngLat.longitude = a.frameState.extent[0]; */
const { extent } = a.frameState;
/* 范圍坐標 */
geomWKT = `POLYGON((${extent[0]} ${extent[1]},${extent[0]} ${extent[3]},${extent[2]} ${extent[3]},${extent[2]} ${extent[1]},${extent[0]} ${extent[1]}))`;
tolerance = mapMode.ol.getView().getResolution() * 4;
getThemeTree();
drawerVisible.value = !drawerVisible.value;
});
2、特征要素選擇Select
/* 監(jiān)聽特征元素(消防報警點)的點擊事件 */
const select = new Select();
selfMap.OlMap.addInteraction(select);
select.on('select', (e) => {
// console.log(e.selected[0].get('name')); //已選擇的Feature的name屬性
const features = e.target.getFeatures().getArray();
console.log(features);
if (features.length > 0) {
// const feature = features[0];
console.log('點擊特征元素');
dkqj();
}
});