ol.interaction.Draw条件鼠标移动?

时间:2016-08-08 23:03:20

标签: javascript openlayers-3

我正在使用UIView在地图上绘制新功能,但地图上已有现有功能。我希望用户在鼠标悬停现有功能时无法放置新功能。

现在我在Draw交互上使用ol.interaction.Draw,当它在已经存在特征的像素上设置时返回false。但是当只是将鼠标移动到这些像素上时,它的样式仍然像用户能够在那里放置一个标记。有没有类似condition的东西,每次鼠标移动都会检查,而不仅仅是点击?

更新:我目前的状况是:

condition

1 个答案:

答案 0 :(得分:1)

  

每次鼠标移动都会检查条件   不只是点击一下?

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

map.on('pointermove', function(e) {
  if (e.dragging) return;
  var hit = map.hasFeatureAtPixel(map.getEventPixel(e.originalEvent));
  map.getTargetElement().style.cursor = hit ? 'pointer' : '';
});