2015-12-01 87 views
2

我想創建一個應用程序,我有3層。我如何知道openlayers-3中多邊形內的線段和多邊形?

  1. 背景層(OSM)
  2. 層 - 1(其僅具有線)
  3. 層 - 2(其僅具有多邊形)

我的層 - 1和層 - 2是不可見,當我在背景圖層中繪製多邊形時,我只想要在我繪製的多邊形內部看到線條和多邊形(來自第1層和第2層)。

任何人都可以提出是否可以使用OL3?

乾杯

+0

你能告訴什麼是迄今所做。 –

+0

是否要顯示符合數字化多邊形的實線和多邊形?或者你想顯示它們中的一部分與數字化多邊形相交?還有,線條和多邊形應該在數字化的多邊形內肆無忌憚地進行,或者任何相互作用(部分在內,跨越等)都會引起人們的興趣? – pavlos

+0

我想顯示數字化多邊形內的所有線條和多邊形。我必須顯示部分多邊形或線不是唯一完全在裏面的。到目前爲止,我沒有做任何事情只是在openlayers中加載圖層。我想弄清楚如何做到這一點。 – Rooney

回答

2

由於@Jonatas最高審計機關必須啓動,我們已經幫你算賬,如果我們做到這一點的時間和心情。所以消息是「幫助獲得幫助」。

無論如何,我今天心情好,我有一些空閒時間。

所以對於你的情況只要你想回到你需要使用JSTS topology套件中的交叉點。這種操作也有TURF.js庫,但我不熟悉它。所以我會給出一個使用JSTS的解決方案。

  1. 聲明你的線和多邊形圖層,並用0 alpha chanel賦予一個樣式,以便在地圖上不可見。 (提供的小提琴之內我已經使用0.2阿爾法通道,所以要用於測試目的visisble的點點)

  2. 創建dragbox交互使用,爲你的用戶從兩層抽獎箱

  3. 選擇功能,落在你的dragbox內

  4. 使用JSTS圖書館找線,多邊形的交叉點和抽獎箱

  5. 創建擁有完全的可視性一個新的向量層,並把交叉功能

這裏是你的fiddle

+0

尼斯小提琴的例子,我建議你把一些給定的工具鏈接。 –

+0

感謝amigo。編輯放置鏈接 – pavlos

相關問題