如何以编程方式移动OpenLayers Vector?

时间:2009-12-02 11:16:53

标签: javascript vector openlayers

OpenLayers.Feature.Vector的API文档说Vector本身根本就没有方法。

我知道如何通过将OpenLayers.Control.DragFeature控件添加到地图来让用户移动Vector。因此,如果用户可以移动Vector,那么必须以编程方式移动它。但我无法弄明白该怎么做。

2 个答案:

答案 0 :(得分:12)

通过调用OpenLayers.Feature.Vector对象上的方法而不是向量本身来移动geometry对象。这些方法包括移动,旋转,调整大小和变换。

请注意,您将找不到OpenLayers.Geometry基础对象上定义的任何方法,但仅在相应的子对象上找到(请注意,OpenLayers几何中有多个级别的继承)。 OpenLayers.Geometry.Collection就是一个很好的例子。

您可以找到以编程方式移动OpenLayers向量here的一个很好的示例。

答案 1 :(得分:7)

这对我有用:

geometry.move(Y_NextPosition - Y_CurrentPosition, X_NextPosition - X_CurrentPosition)