开放层功能单击事件

时间:2019-10-02 11:49:06

标签: openlayers openlayers-5

如何使用Feature on方法在OpenLayers Feature上添加事件?这对我不起作用。

import { Map, View, Feature } from 'ol';
import {getVectorContext} from 'ol/render';
import TileLayer from 'ol/layer/Tile';
import * as layer from 'ol/layer';
import VectorImage from 'ol/layer/VectorImage';
import * as source from 'ol/source';
import * as proj from 'ol/proj';
import * as geom from 'ol/geom';
import * as style from 'ol/style';
import EventType from 'ol/events/EventType';

const marker = new Feature({
        geometry: new geom.Point(
          proj.fromLonLat(lonLat)
        )
     });
// marker.setStyle(this.getIconStyle()); 
marker.on(EventType.CLICK, function() {
   alert('click');
});

1 个答案:

答案 0 :(得分:0)

功能没有点击事件,您需要侦听地图上的点击并检查它是否在您的标记上

map.on('click', function(evt) {
  if (map.forEachFeatureAtPixel(evt.pixel,
    function(feature) {
      return feature === marker;
    })
  ) {
    alert('click');
  }
});
相关问题