Задать вопрос

Как обновить/удалить метки на карте, которые ставятся ajax'oм?

Суть вопроса состоит вот в чем.
Имеется карта. Из БД берутся координаты объектов и расставляются метками на карте и все это без обновления, ибо сделано на ajax.
Теперь надо бы прикрутить следующий функционал: при изменении координат объектов в базе, необходимо менять их метки на карте. Я сделала таймер и ajax, который обращается к скрипту php, тот в свою очередь возвращает вызов функции с координатами, которые берутся из базы
ShowObjectLocationAndState(" . $data['CoordLatitude'] . ", " . $data['CoordLongitude'].",\"" . $data['Description'] . "\", \"OK\")

В итоге вместо старой метки на новом месте получаем еще одну метку для уже имеющегося объекта. Как организовать функцию перемещения метки? Или же сначала надо удалять все метки, необходимые для обновления, а потом расставлять их заново?
  • Вопрос задан
  • 2892 просмотра
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
IgorMann
@IgorMann
Руковожу марке́тингом
Вы правы -- перемещать не имеет смысла. Создаете JS объект заново и добавляете в него метки.
Ответ написан
@miki131
Если меток немного, то просто очищайте карту, и заново добавляйте метки на нее.
Иначе, держите все метки в хеше, и когда с базы получите новые координаты обновите метку
point.geometry.setCoordinates(newLocation)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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