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

我正在尝试使用OpenLayers 2.10在两个功能之间创建一条曲线.我担心我可能发现了一个错误,或者我根本不明白曲线几何的作用.

OpenLayers docs say:“曲线是一个MultiPoint,其点被假定为连接.为此,我们提供’getLength()’函数,它迭代这些点,将它们之间的距离相加.”好的,到目前为止一切都很好……

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

如果我用LineString,LinearRing或Multipoint替换Curve,则会按预期呈现这些功能.但是当我使用曲线时,精确地在地图上渲染深蹲.更糟糕的是,调用几何的getLength方法“有效”,从某种意义上说,我得到一个理智的答案,可以得到点之间的距离.我不知道答案是否正确,但OL肯定已经创建了曲线的内部表示.

我在Linux和Windows上测试了Chrome和Firefox,结果总是一样的.

我也没能找到曲线几何的单个工作示例.如果你有人,那将是非常有用的.

请注意,I asked about a similar question关于StackOverflow上的曲线,但这是关于如何从服务器上生成的多个线串段生成“弯曲”的众所周知的文本.

最佳答案 尽管有相反的证据(被告知我应该使用曲线几何而不是在服务器端生成弯曲的分段,以及曲线几何上的上述文档),但不存在曲线几何的绘制方法.因此,您可以使用所需的曲线几何创建要素,但它们实际上不会渲染.荡.我也在IRC问过,得到了Chris Schmidt的回复:

crschmidt: I do not believe that OpenLayers supports curves.

crschmidt: I wouldn’t try to use such a class, if it exists.

点赞