Клуб API Карт

Событие Update: ошибка?

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

В документации написано:

Update  Перерисовка (обновление) карты (при изменении центра или коэффициента масштабирования).


Однако, повесив событие на карту обнаружил, что событие вызывается только при изменении коофицента масштаба. При изменениии центра карты (т.е. при перетаскивании карты) событие не вызывается.

Для проверки взял пример работы с событием с вашего сайта и вместо события Click поставил Update. Результат тот же самый: событие срабатывает только при изменении масштаба. Вот измененая страница, на которой проверял:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Примеры. События. Прослушивание событий.</title>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    <script src="http://api-maps.yandex.ru/1.1/index.xml?key=ANpUFEkBAAAAf7jmJwMAHGZHrcKNDsbEqEVjEUtCmufxQMwAAAAAAAAAAAAvVrubVT4btztbduoIgTLAeFILaQ==" type="text/javascript"></script>
    <script type="text/javascript">
        window.onload = function () {
            var map = new YMaps.Map(document.getElementById("YMapsID"));
            map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);

            YMaps.Events.observe(map, map.Events.Update, function () {
                alert("Щелк!");
            });
        };
    </script>
</head>

<body>

    <div id="YMapsID" style="width:600px;height:400px"></div>
</body>

</html>

Сообщение "Щёлк" показывается только если изменили масштаб. При перетаскивании карты сообщение не показывается.

Это ошибка в работе или я просто не так понял документацию?

1 комментарий
Sergey Konstantinov
28 января 2016, 08:27
В документации имеется в виду изменение центра программным образом (через map.setCenter, например). В этом случае сработает событие Update. Для отслеживания событий перемещения карты пользователем используются события MoveStart, Move и MoveEnd.