【发布时间】:2017-02-06 09:16:54
【问题描述】:
我开发了一个应用程序,支持使用 OpenLayers 3 在地图上绘制线或点等内容并添加一些标签。
OL3 中的许多现有功能使我能够绘制和修改某些东西。
但是,当我选择我画的东西时,我觉得需要一个捕捉功能来让我更轻松地选择它们。
很遗憾,目前的OL3只支持绘制和修改的捕捉,如下:
var draw = ol.interaction.Draw({features: some_features});
var snap = ol.interaction.Snap({featrues: some_features});
map.addInteraction(draw);
map.addInteraction(snap);
实际上,我发现捕捉是通过将 ol.interaction.Draw 替换为 ol.interaction.Select 来实现的,因为如果我点击点,我可以选择我绘制的东西除了他们。但是,鼠标指针并没有捕捉到它们。
那么,如何在OL3中实现选择与捕捉功能的交互呢?
添加了一些代码来解释细节。
查看链接:https://jsfiddle.net/keltpower0/sej6z2q4/1/
在你画了一些线之后,如果你选择了这些线,你应该点击放置线的那个点。
我想更轻松地选择那些具有捕捉功能的线条,例如,如果我将鼠标指针移动到线条附近,指针会“自动”捕捉到线条
【问题讨论】: