Клуб API Карт

Конфликт анимаций

Мелюков Сергей
5 апреля 2017, 12:41

Привет!

При перемещении маркера за пределы карты, карта пытается подстроить свой центр так, чтобы перемещенная метка и ее балун (если он есть) были полностью видны на экране.

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

Фактически, setCenter + duration во время подстройки карты, запускает одну анимацию во время другой.

Я вижу несколько вариантов решения:

игнорировать другие анимации во время подстройки карты
прервать подстройку, если был вызван setCenter
отключить автоматическую подстройку при выходе метки за пределы карты
иметь возможность определить - находится ли карта в состоянии анимации, чтобы просто не делать setCenter
иметь возможность дождаться окончания подстройки и потом вызвать setCenter
Что-то  из этого реализуемо?

2 комментария
Не меняйте центр до события autopanend
https://tech.yandex.ru/maps/doc/jsapi/2.1-dev/ref/reference/Balloon-docpage/#event-autopanend
если был autopanbegin можно и совсем выключить autopan 
Обновлено 5 апреля 2017, 13:13
Мелюков Сергей
5 апреля 2017, 13:34
dimik,
благодарю, просто отключил autopan