如何在openlayers中绘制绘制线串的点

时间:2012-09-04 13:23:19

标签: openlayers

我在简单的地图上使用OpenLayers的编辑工具栏。到目前为止一切正常,我可以绘制点,线和多边形。

通过在给定地图上绘制一个简单的线串,我得到以下结果:

OpenLayers Example 1

我真正想要的是,OpenLayers自动将点添加到线串中,如下所示:

OpenLayers Example 2

这可能吗?

2 个答案:

答案 0 :(得分:0)

你需要一个在绘制结束时触发的函数函数将遍历新创建的行的每个顶点并创建一个点(在新层中,我建议)。你想把它保存在某个地方吗?

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

}

答案 1 :(得分:-1)

您应该查看功能样式(StyleMaps,Rulebased样式等)的文档,您可以找到here。它会为您提供所需的一切。

编辑

正如我记得的那样,积分是LineStrings的一部分,似乎我错了......我现在看到它是你要找的点,而不是它们的造型。对不起,答案是错误的。

我在GIS网站上发现了一个看起来像你可以使用的帖子。祝你好运!

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