代码之家  ›  专栏  ›  技术社区  ›  Sphvn Frebin Francis

以编程方式旋转要素打开的图层

  •  2
  • Sphvn Frebin Francis  · 技术社区  · 14 年前

    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);
                }
    

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

    代码方面有什么想法吗?

    1 回复  |  直到 14 年前
        1
  •  3
  •   geographika    14 年前

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

    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)
    

    围绕另一个点旋转。 参数

    角度{float}旋转角度(从正x轴逆时针测量)

    原点{openlayers.geometry.point}旋转的中心点