Повернуть объект программно Открытые слои

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 — центроид объекта изображения.

Есть идеи на стороне кода?


person Sphvn    schedule 06.05.2010    source источник
comment
Я хочу повернуть изображение по заданному мне заголовку.   -  person Sphvn    schedule 14.05.2010


Ответы (1)


Вы можете использовать изображения / значки для представления векторных точек, например.

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} Центральная точка вращения

person geographika    schedule 08.05.2010
comment
Спасибо за информацию. Но если бы я вращал одну точку (изображение), мне нужно было бы вращать ее вокруг другой точки или я могу основывать ее на себе и вращать ее таким образом? - person Sphvn; 10.05.2010
comment
Параметр начала может быть любой точкой. Чтобы использовать центроид векторного объекта (если это точка, центроид будет точкой), используйте: dev.openlayers.org/releases/OpenLayers-2.8/doc/apidocs/files/ - person geographika; 10.05.2010