Javascript 鼠标移动时的ol.interaction.Draw条件?

Javascript 鼠标移动时的ol.interaction.Draw条件?,javascript,openlayers-3,Javascript,Openlayers 3,我正在使用ol.interaction.Draw在地图上绘制新功能,但地图上也有现有功能。我希望当鼠标悬停在现有功能上时,用户不能放置新功能 现在,我在绘图交互上使用了一个条件,当它设置在已经有特征的像素上时,返回false。但是当鼠标移动到这些像素上时,它的样式仍然像用户能够在那里放置一个标记。是否有类似于“条件”的东西,它在每次鼠标移动时都会被检查,而不仅仅是单击一下 更新:我目前的状况是: condition: function(e) { var isFirstOne = true;

我正在使用
ol.interaction.Draw
在地图上绘制新功能,但地图上也有现有功能。我希望当鼠标悬停在现有功能上时,用户不能放置新功能

现在,我在绘图交互上使用了一个
条件
,当它设置在已经有特征的像素上时,返回false。但是当鼠标移动到这些像素上时,它的样式仍然像用户能够在那里放置一个标记。是否有类似于“条件”的东西,它在每次鼠标移动时都会被检查,而不仅仅是单击一下

更新:我目前的状况是:

condition: function(e) {
  var isFirstOne = true;
  var feature = map.forEachFeatureAtPixel(e.pixel, function(feature) {
    var n = feature.get('name');
    // if n is undefined, feature is the current drawing one
    if (!!n) return feature;
  });
  return (!feature);
}
是否存在在每次鼠标移动时检查的类似条件 不只是点击一下

是的,您可以使用和更改光标(通过CSS):


你能提供你正在使用的
条件的代码吗?@hichamzouarchi:我更新了问题你可以在你的条件内更改绘图交互的样式,但是我在OL3中找不到一个预定义的函数来实现这一点
map.on('pointermove', function(e) {
  if (e.dragging) return;
  var hit = map.hasFeatureAtPixel(map.getEventPixel(e.originalEvent));
  map.getTargetElement().style.cursor = hit ? 'pointer' : '';
});