Клуб API Карт

Как отличить изменения карты пользователем от изменений через API?

Пост в архиве.

Здравствуйте.

Мне нужно реагировать на изменения центра и масштаба карты. Я нашёл в документации для этой цели только событие boundschange. Оно работает хорошо.

Но мне также нужно менять центр и масштаб карты через API и после этого никак уже не реагировать.

Проблема в том, что boundschange возникает в любом случае - и через API, и от действий пользователя, и нет способа узнать, кто являлся инициатором события.

Пока выхожу из положения так: отключаю обработчик, вызываю API, подключаю обработчик обратно.

Но хотелось бы решение в самом API. Например:

  • Разные события для действий пользователя и для программного изменения состояния карты;
  • Свойство объекта события, в котором указан инициатор действия.

Существуют ли такие возможности в доступных на данный момент версиях API?

Спасибо.

1 комментарий
Sergey Konstantinov
28 января 2016, 00:36
Постановка вопроса неправильная, поскольку пользователь может изменять центр карты множеством неочевидных способов (например, поискать что-то в контроле поиска, изменить размер экрана браузера и т.д.).

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