2015-09-21 18 views
0

我需要在openLayers 3中編寫一些文本...不是標籤,就像文本對象,我可以在地圖上選擇和拖動。此文本必須有多行。 我嘗試使用ol.style.text的一個點,但它不是多行。 我也嘗試了彈出窗口,但我需要始終顯示文本。 有什麼辦法可以爲此使用文本功能(ol.format.TextFeature)? 是否有任何可用於此目的的對象? 謝謝!在OpenLayers3中寫文本

+0

我會用'ol.Overlay'綁定到'div'的文字。我會舉一個例子。 –

回答

1

您可以使用ol.Overlay。覆蓋圖基本上可以是任何Element。它有一個可以隨時設定的位置。

看到一個例子:http://openlayers.org/en/v3.9.0/examples/overlay.html?q=overlay

你可以使用地圖瀏覽器事件(pointerdown,pointerup),如果目標是你的覆蓋元素,那麼你可以四處移動它,更新它的位置。

+0

我也試過,這是一個可能的解決方案。我唯一擔心的是性能,因爲我可能需要添加很多這些文本元素。但也許這是唯一的方法。謝謝,亞歷山大! –

+0

你可以做的另外一件事情:如果你的數據有某種'priority'屬性,你可以根據優先級在特定的比例下只顯示某些文本。隨着放大,可能會出現更多。這可以確保沒有太多的元素以小比例顯示,並且也會防止太多重疊的文本。聽上去怎麼樣 ? –