2017-02-06 33 views
0

我開發的應用程序,以支持使用的OpenLayers 3.如何啓用「捕捉」用的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.Drawol.interaction 。選擇,因爲我可以選擇一些我繪製的東西,如果我點擊它們之外的點。但是,鼠標指針沒有捕捉到它們。

那麼,我怎樣才能實現與OL3中的貼緊功能的選擇性交互?


增加了一些代碼來解釋詳細信息。

見鏈接:https://jsfiddle.net/keltpower0/sej6z2q4/1/

之後你畫一些線條,您應該點擊非常一點,如果你選擇那些線,其中線被放置。

我想更輕鬆地選擇具有捕捉功能的線一樣,如果我搬到附近的線將鼠標指針,該指針「自動」對齊線

回答

1

選擇與捕捉聽起來有點怪我。如何使用選擇交互的hitTolerance選項?

+0

請閱讀我的補充評論。我認爲我認爲這個功能並不是如此有線... –

+0

請參閱https://jsfiddle.net/sej6z2q4/3/以獲得更新的與hitTolerance的選擇性交互。瀏覽器不允許移動光標,所以你不能按照你想要的方式「捕捉」。但是隨着更大的「hitTolerance」,選擇小功能要容易得多。 – tonio

+0

有沒有什麼方法可以通過選擇交互來啓用捕捉,比如繪製+捕捉交互?像這樣:http://openlayers.org/en/latest/examples/snap.html –