Как переместить Вектор OpenLayers программно?

использование, в смысле

using (var foo = new Bar())
{
  Baz();
}

Является на самом деле стенографией для блока попытки/наконец. Это эквивалентно коду:

var foo = new Bar();
try
{
  Baz();
}
finally
{
  foo.Dispose();
}

Вы отметите, конечно, что первый отрывок намного более краток, чем второе и также что существует много видов вещей, которые Вы могли бы хотеть сделать как очистка, даже если исключение выдается. Из-за этого мы придумали класс, что мы называем Объем, который позволяет Вам выполнять произвольный код в Расположить методе. Так, например, если бы у Вас было свойство под названием IsWorking, который Вы всегда хотели установить на ложь после попытки выполнить операцию, Вы сделали бы это как это:

using (new Scope(() => IsWorking = false))
{
  IsWorking = true;
  MundaneYetDangerousWork();
}

можно читать больше о нашем решении и как мы получили его здесь .

9
задан Rene Saarsoo 2 December 2009 в 11:16
поделиться

1 ответ

Вы перемещаете объект OpenLayers.Feature.Vector , вызывая методы его объекта geometry , а не самого вектора. Эти методы включают перемещение, поворот, изменение размера и преобразование.

Обратите внимание, что вы не найдете никаких методов, определенных в базовом объекте OpenLayers.Geometry, а только в соответствующем дочернем объекте (обратите внимание, что в геометриях OpenLayers существует несколько уровней наследования). OpenLayers.Geometry.Collection является хорошим примером.

Вы можете найти отличный пример программного перемещения векторов OpenLayers здесь .

12
ответ дан 4 December 2019 в 11:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: