以编程方式旋转要素 Open Layers
Posted
技术标签:
【中文标题】以编程方式旋转要素 Open Layers【英文标题】:Rotate a feature programmatically Open Layers 【发布时间】:2011-02-16 05:27:19 【问题描述】:TLDR 我想在打开的图层中旋转一个要素。 我希望它面对我从服务器接收到的某个标题。
我知道你可以让一个特征在一个点上旋转:
window.setInterval(function() rotateFeature(
pointFeature, 360 / 20, origin), 100);
来自open layers example.
但我希望能够面对给我的标题,所以。
-
我可以将特征朝向航向吗?
我可以以同样的方式面对特征(图像)吗?
如果不是,是否可以自动计算所需的旋转并以这种方式定位?
或者对如何使用图像执行此操作有任何想法? (希望没有 360 度图像)
一个例子或类似的将不胜感激。
到目前为止没有运气使用:
window.setInterval(function() rotateFeature(
imagefeature, 150 / 360, origin), 1000);
function rotateFeature(feature, angle, origin)
feature.geometry.rotate(angle, origin);
其中原点是图像对象的中心点。
代码方面有什么想法吗?
【问题讨论】:
我想通过给定的“标题”旋转图像。 【参考方案1】:您可以使用图像/图标来表示矢量点,例如
http://openlayers.org/dev/examples/vector-features.html
使用此 png 文件 alt text http://openlayers.org/dev/img/marker.png 然后,您应该能够像在另一个示例中一样旋转该点。可以任意旋转:
http://dev.openlayers.org/releases/OpenLayers-2.8/doc/apidocs/files/OpenLayers/Geometry/Point-js.html#OpenLayers.Geometry.Point.rotate
rotate: function(angle,origin)
围绕另一个点旋转一个点。 参数
angle Float 以度为单位的旋转角度(从正 x 轴逆时针测量)
origin OpenLayers.Geometry.Point 旋转的中心点
【讨论】:
感谢您的信息。但是,如果我要旋转一个点(图像),我是否必须基于另一个点来旋转它,或者我可以基于它自身并以这种方式旋转它? origin参数可以是任意点。要使用矢量特征的质心(如果它是一个点,则质心就是该点)使用:dev.openlayers.org/releases/OpenLayers-2.8/doc/apidocs/files/…以上是关于以编程方式旋转要素 Open Layers的主要内容,如果未能解决你的问题,请参考以下文章