簡體   English   中英

如何在openlayers中顯示繪制的線串上的點

[英]How to diplay points on drawn linestring in openlayers

我在簡單的地圖上使用OpenLayers的編輯工具欄。 到目前為止,一切工作正常,我可以繪制點,線和多邊形。

通過在給定的地圖上繪制簡單的線串,我得到以下結果:

OpenLayers示例1

我真正想要的是,OpenLayers自動將點添加到線串中,如下所示:

OpenLayers示例2

那可能嗎?

您需要一個將在圖形末端觸發的函數。該函數將在新創建的線的每個頂點上循環並創建一個點(建議在新層中)。 您要保存在某個地方嗎?

map.layers[1].events.register('sketchcomplete', this, extractVertex);

//f is an object sketched
function extractVertex(f) {

    var arrayOfPointsInWKT = [];
    var vert = f.feature.geometry.getVertices();
    for(var i = 0; i < vert.length; i++) {
        arrayOfPointsInWKT.push(vert[i].toString());
    }

    //ajax call to the script that will save a table it in the database

}

您應該查看功能樣式的文檔(StyleMap,基於規則的樣式等),您可以在此處找到。 它會給您您所需要的。

編輯

我記得,點是LineStrings的一部分,看來我錯了……我現在看到的是它是您要尋找的點,而不是樣式。 對不起,錯了答案。

我在GIS網站上發現了一篇看起來可以使用的帖子。 祝好運!

https://gis.stackexchange.com/questions/28242/show-a-collection-of-linestrings-with-labels

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM