Поворот объекта программно Открытые слои - PullRequest
2 голосов
/ 06 мая 2010

TLDR Я хочу повернуть объект в моих открытых слоях.
Мне нужен заголовок, который я получаю от сервера.


Я знаю, что вы можете вращать объект по точке или около того:

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

как в примере открытых слоев.

Но я хочу быть в состоянии воспринимать это в направлении, указанном мной, поэтому.

  1. Могу ли я встретить объект в направлении заголовка?
  2. Могу ли я смотреть на объект (изображение) таким же образом?
  3. Если нет, то можно ли автоматически рассчитать требуемое вращение и расположить его таким образом?
  4. Или есть идеи, как я могу сделать это с изображением? (в надежде не иметь 360 изображений)

Пример или такой был бы оценен: D

Заранее спасибо.


Пока не повезло, используя:

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

Где начало координат - центроид объекта изображения.

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

1 Ответ

3 голосов
/ 08 мая 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...