我正在使用UIView
在地图上绘制新功能,但地图上已有现有功能。我希望用户在鼠标悬停现有功能时无法放置新功能。
现在我在Draw交互上使用ol.interaction.Draw
,当它在已经存在特征的像素上设置时返回false。但是当只是将鼠标移动到这些像素上时,它的样式仍然像用户能够在那里放置一个标记。有没有类似condition
的东西,每次鼠标移动都会检查,而不仅仅是点击?
更新:我目前的状况是:
condition
答案 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' : '';
});