以编程方式旋转功能Openlayers

时间:2010-05-06 04:00:31

标签: javascript rotation openlayers heading

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


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

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

来自open layers example.

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

  1. 我可以面对标题的功能吗?
  2. 我可以用同样的方式面对一个功能(图像)吗?
  3. 如果没有,是否可以自动计算所需的旋转并按此方式定位?
  4. 或者有关如何使用图片进行此操作的任何想法? (希望没有360图像)
  5. 可以理解一个例子:D

    提前致谢。


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

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

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

    任何想法代码方面?

1 个答案:

答案 0 :(得分:3)

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

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}旋转的中心点