0

我正在使用 OL3 示例DrawShapes。有一个“星”作为示例,用于与用户定义的几何函数进行自定义绘制交互,看起来像

   draw = new ol.interaction.Draw({
        source: source,
        type:  'Circle',
        geometryFunction: 
          function(coordinates, geometry) {
            if (!geometry) {
              geometry = new ol.geom.Polygon(null);
            }

            //Calculate coordinates and set geometry

          }
   });

我实际上想要实现的是用自定义 SVG 替换这个几何图形。用户应该能够通过类似圆形的两点交互来绘制这些 SVG(基本上是箭头),就像在示例中一样。

我已经将 svg 解析为 OL-MultilineString 几何。但是当我尝试用我的自定义 MultiLineString 替换 Polygon 时,也会出现示例中从centerto的“基本几何笔划”。last这是不是预期的行为,我怎样才能摆脱这条附加线?

在绘图交互期间每次重新创建几何图形或使用增量并不断更改几何图形是否会有所不同?

黄色可有可无的星

ol.geom.Polygon(null)对于测试,您可以使用上面的链接并将ol.geom.MultiLineString(null)

我很欣赏每一种解决方案,包括不同的方法。

4

0 回答 0