3

TLDR我想在我的开放图层中旋转一个特征。
我希望它面对我从服务器接收到的某个标题。


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

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

开放层示例中。

但我希望能够面对它给我的标题,所以。

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

一个例子等将不胜感激。


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

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

其中 origin 是图像对象的中心点。

任何想法代码方面?

4

1 回答 1

3

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

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

使用此 png 文件替代文本 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} 旋转的中心点

于 2010-05-08T13:50:10.643 回答