OpenLayers 曲线几何无法按预期工作

Dav*_*ads 5 openlayers

我正在尝试使用 OpenLayers 2.10 在两个特征之间创建一条曲线。恐怕我发现了一个错误,或者我根本不明白曲线几何的作用。

的OpenLayers文档说:“一个曲线是多点,其点被假定为连接。为此,我们提供了一个‘的getLength()’功能,它通过点遍历,总结它们之间的距离。” 好的,到目前为止一切顺利……

var curve = new OpenLayers.Feature.Vector(
  new OpenLayers.Geometry.Curve([point1, point2, point3]), null, style
);
layer.addFeatures([curve]);
Run Code Online (Sandbox Code Playgroud)

如果我替换CurveLineString, LinearRing, 或Multipoint,则功能将按预期呈现。但是当我使用时Curve,精确地蹲在地图上呈现。更糟糕的是,调用几何的getLength方法“有效”,因为我得到了一个理智的答案,该答案随点之间的距离而变化。我不知道答案是否正确,但 OL 肯定已经创建了曲线的内部表示。

我已经在 Linux 和 Windows 上的 Chrome 和 Firefox 中进行了测试,结果始终相同。

我也找不到曲线几何的单个工作示例。如果你有一个,那将非常有用。

请注意,我在 StackOverflow 上询问了一个关于曲线的类似问题,但那是关于如何从服务器上生成的多个线串段生成“弯曲”众所周知的文本。

Dav*_*ads 3

尽管有相反的证据(被告知我应该使用曲线几何图形而不是在服务器端生成曲线段,以及上述关于曲线几何图形的文档),但不存在曲线几何图形的绘制方法。因此,您可以使用所需的曲线几何形状创建特征,但它们实际上不会渲染。当当。我还在 IRC 中询问,并得到了 Chris Schmidt 的回复:

crschmidt:我不相信 OpenLayers 支持曲线。

crschmidt:如果存在这样的类,我不会尝试使用它。