0

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

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

OpenLayers 示例 1

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

OpenLayers 示例 2

那可能吗?

4

2 回答 2

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

}
于 2012-09-05T08:37:26.707 回答
-1

您应该查看可以在此处找到的功能样式文档(StyleMaps、基于规则的样式等) 。它会给你你所需要的。

编辑

正如我回忆的那样,点是 LineStrings 的一部分,看来我错了......我现在看到它是您正在寻找的点,而不是它们的样式。对不起,放错了答案。

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

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

于 2012-09-04T14:26:47.023 回答