场景
Vue+Openlayer使用overlay实现弹窗弹出显示与关闭:
Vue+Openlayer使用overlay实现弹窗弹出显示与关闭_霸道流氓气质的博客-CSDN博客
在上面的基础上,怎样实现鼠标单击时获取点击的feature对象并对其进行操作。
forEachFeatureAtPixel
注:
博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
1、监听地图点击事件
let self = this;
// 监听地图点击事件
self.onShow = self.map.on("singleclick", (evt) => {
self.mapDialog(evt);
});
调用封装的方法并传递参数
2、方法实现中调用forEachFeatureAtPixel获取feature对象
mapDialog(evt, isShow, fea) {
let self = this;
self.$nextTick(() => {
if (!isShow) {
var feature = self.map.forEachFeatureAtPixel(evt.pixel, (feature) => {
return feature;
}
);
}
3、然后就可以根据自己的需求去匹配feature的id
前提是在新增feature时需要设置其id
data.forEach((item, index) => {
var feature = new Feature({
geometry: new Point(item.videoAdd),
});
feature.setId(`video_${item.id}`);
给其指定一个id
然后就可以根据id获取该feature的数据了
self.videoListData.forEach(async (e) => {
if (self.searchEmpId == 'video_'+ e.id) {
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/136052.html