Перемещение точек на карте в режиме реального времени задача достаточно специфическая. В этой статье пример, который поможет разобраться с задачей и решить её.
Столкнувшись с подобной задачей и проведя достаточно времени за чтением документации и поиском примеров я нашел прекрасный пример, которым и хочу поделиться с Вами.
Пример находится здесь.
При внимательном рассмотрении всё стаёт на свои места, но сама механика, как и весь ol3 достаточно не очевиден.
Суть заключается в работе с ol.source.Vector({})
и features, которые находятся внутри него. Эти занимаются три метода из примера — addFeature
, removeFeature
, clearFeatures
.
В каждом из них наглядно показана работа по трем направлениям — создание и удаление маркеров, а также полная очистка слоя методом clear
.
Стоит отметить также, что данный пример отлично работает с кластеризацией и не требует никаких дополнительных действий. К тому же он более нативен и тонкий, нежели громоздкие примеры с попытками изменить координат маркера, не удаляя его физически с карты. Кроме того последний вариант не всегда правильно работает внутри кластера, ведя себя, мягко говоря, непредсказуемо.
Так или иначе — мне данный код помог и я смог реализовать поставленную задачу с его помощью. Заочная благодарность автору и добро пожаловать в комментарии и подписку на уведомления!