我正在尝试使用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]);
如果我将Curve
替换为LineString
,LinearRing
或Multipoint
,则会按预期呈现这些功能。但是当我使用Curve
时,会在地图上呈现精确的深蹲。更糟糕的是,调用几何的getLength
方法“有效”,从某种意义上说,我得到一个理智的答案,可以得到点之间的距离。我不知道答案是否正确,但OL肯定已经创建了曲线的内部表示。
我已经在Linux和Windows上测试了Chrome和Firefox,结果总是一样的。
我也未能找到曲线几何的单个工作示例。如果你有人,那将非常有用。
请注意,I asked about a similar question关于StackOverflow上的曲线,但这是关于如何从服务器上生成的多个线串段生成“弯曲”的众所周知的文本。
答案 0 :(得分:2)
尽管有相反的证据(被告知我应该使用曲线几何而不是在服务器端生成弯曲的segements,以及前面提到的关于曲线几何的文档),不存在曲线几何的绘制方法。因此,您可以使用所需的曲线几何创建要素,但它们实际上不会渲染。荡。我也在IRC问过,得到了Chris Schmidt的回复:
crschmidt:我不相信OpenLayers支持曲线。crschmidt:如果它存在,我不会尝试使用这样的类。