javascript - 以编程方式旋转要素 Open Layers

标签 javascript rotation openlayers heading

TLDR 我想在打开的图层中旋转要素。
我希望它面向我从服务器接收到的某个标题。


我知道你可以在一个点上做一个特征旋转:

window.setInterval(function() {rotateFeature(
       pointFeature, 360 / 20, origin)}, 100);

来自 open layers example.

但我希望能够将它朝向给定的标题,所以。

  1. 我可以将特征朝向标题吗?
  2. 我可以用同样的方式面对特征(图像)吗?
  3. 如果不是,是否可以自动计算所需的旋转并以这种方式定位?
  4. 或者关于如何处理图像的任何想法? (希望不要有 360 度图像)

将不胜感激。


到目前为止没有运气使用:

      window.setInterval(function() {rotateFeature(
        imagefeature, 150 / 360, origin)}, 1000);
        function rotateFeature(feature, angle, origin) {
            feature.geometry.rotate(angle, origin);
            }

其中原点是图像对象的质心。

代码方面有什么想法吗?

最佳答案

您可以使用图像/图标来表示矢量点,例如

http://openlayers.org/dev/examples/vector-features.html

使用此 png 文件 alt text http://openlayers.org/dev/img/marker.png 然后您应该能够像另一个示例中那样旋转该点。您可以旋转到任意 Angular :

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} 以度为单位的旋转 Angular (从正 x 轴逆时针测量)

origin {OpenLayers.Geometry.Point} 旋转的中心点

关于javascript - 以编程方式旋转要素 Open Layers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2778359/

相关文章:

c++ - 如何将度数(角度)转换为面数

zooming - 在 OpenLayers 中平滑缩放和平移?

qt - 如何在qml中创建透视图像

javascript - JavaScript 中的程序化重音减少(又名文本规范化或无重音)

javascript - 在 Javascript 中移动多维数组的最佳方法是什么?

javascript - 在 JSTree 中使用 Open_all 进行批量加载和延迟加载

java - 旋转物体使其变小

javascript - 如何设置wms参数(bbox、宽度、高度、x、y)

javascript - Chrome 和 Edge 在选中时以不同方式处理设置为 "indeterminate"的复选框