Более

Ошибка / ошибка в последней версии ol3 (3.9) с insertAt


Недавно я обновил свою версию OL с 3.4 до 3.9

У меня есть дерево слоев перетаскивания, которое в основном получает текущую позицию слоя, удаляет ее и вставляет обратно в новую позицию, используя:

map.getLayers (). insertAt (newIndex, слой);

это отлично работает на V3.4 для обоих (bingsmap / google и для моих слоев WMS)

Однако, используя тот же код в последней версии (3.9), я получаю сообщение об ошибке только для своих слоев WMS (не для bings / googlemaps), как показано ниже.

Uncaught AssertionError: утверждение не удалось: слушатели уже зарегистрированы

Есть мысли по этому поводу?


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

var oldindex = 6; var newindex = 2; map.getLayers (). removeAt (oldindex); map.getLayers (). insertAt (newIndex, слой);

Это сработало для меня. Я получил сообщение «Утверждение не удалось: слушатели уже зарегистрированы» с

var next = Layers.item (индекс - 1); Layers.setAt (индекс - 1, слой); Layers.setAt (индекс, следующий);с которым я работал:

(с использованием OL версии v3.15.1) Layers.removeAt (index); Layers.insertAt (индекс-1, слой);


Смотреть видео: Ошибка 404 Not Found или как с ней бороться. Способ 2 (October 2021).