首页 > 其他 > 详细

openlayers 为元素添加点击和鼠标悬停事件

时间:2021-04-01 18:42:05      阅读:364      评论:0      收藏:0      [点我收藏+]
 let clickSelect = new Select({
        condition: click,
        hitTolerance: 5,
      });
      clickSelect.layerName = ‘dangerRiver‘;
      var _this = this;
      clickSelect.on(‘select‘, function (e) {
        if (e.selected.length > 0) {
          let layerName = e.target.getLayer(e.selected[0]).layerName;
          if (layerName == ‘evacuationroute‘) {
            this.getFeatures().clear();
          } else {
            _this.mapComponent.showPopup(e.selected[0], layerName);
            this.getFeatures().clear();
          }
        }
      });
      this.mapComponent.map.addInteraction(clickSelect);

      let pointerMoveSelect = new Select({
        condition: pointerMove,
        hitTolerance: 5,
      });
      pointerMoveSelect.on(‘select‘, function (e) {
        let features = e.target.getFeatures().array_;
        if (features.length > 0) {
          let layerName = e.target.getLayer(e.selected[0]).layerName;
          if (layerName == ‘evacuationroute‘) {
            this.getFeatures().clear();
          } else {
            _this.mapComponent.map.getTargetElement().style.cursor = ‘pointer‘;
          }
          //this.getFeatures().clear();
        } else {
          _this.mapComponent.map.getTargetElement().style.cursor = ‘auto‘;
        }
      });
      this.mapComponent.map.addInteraction(pointerMoveSelect);
 
引入:
import { click, pointerMove } from ‘ol/events/condition.js‘;
import Select from ‘ol/interaction/Select‘;
import Point from ‘ol/geom/Point‘;
import Feature from ‘ol/Feature‘;

openlayers 为元素添加点击和鼠标悬停事件

原文:https://www.cnblogs.com/maycpou/p/14606505.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!