ZoomFollowSettings
Интерфейс, позволяющий управлять настройками масштабирования карты во время ведения.
Во время ведения масштаб зависит от скорости движения, от наличия манёвров впереди и позади на маршруте и от типа дороги.
При отсутствии манёвров впереди и позади, либо на дорогах низкого значения (неглавные улицы населённых пунктов, шоссе, междугородние или федеральные трассы) значение масштаба выбирается на основании значений SpeedRangeToStyleZoom, которые хранятся в последовательности speed_range_to_style_zoom_sequence. Последовательность speed_range_to_style_zoom_sequence должна содержать интервалы скоростей, отсортированные по возрастанию значений min_speed, при этом должны выполняться условия: max_speedi > min_speedi+1
max_speedi < max_speedi+1. То есть интервалы скоростей должны соприкасаться или даже пересекаться, но значение скорости не должно попадать более чем в два интервала. При этом минимальное значение скорости не считается попадающим в интервал, т.е. одно и то же значение скорости может находиться быть максимальной скоростью для одного интервала, минимальной скоростью для другого и находиться внутри интервала для третьего интервала. Исключение - первый интервал скоростей, который должен содержать значение min_speed == 0.
Масштаб карты выбирается из последовательности speed_range_to_style_zoom_sequence по алгоритму:
При приближении к маневру на текущей скорости масштаб будет плавно увеличиваться. Время увеличения зависит от скорости и расстояния до манёвра. При увеличении скорости время анимации увеличивается, при снижении скорости - уменьшается. Увеличение уровня зума завершается на некотором расстоянии до манёвра.
После проезда манёвра уровень зума плавно уменьшается.
ru.dgis.sdk.NativeObject
Последовательность интервалов скоростей и соответствующих им масштабов. Используется для автоматического изменения масштаба в навигаторе в зависимости от скорости.
Длительность плавного изменения масштаба в режиме ведения при изменении скорости при отсутствии манёвров впереди/позади на достаточно близком расстоянии, либо на дорогах низкого значения.
Длительность плавного увеличения уровня зума при приближении к манёвру. Используется только если скорость ниже, чем в get_min_speed_to_consider_in_zoom_in_before_maneuver_animation.
Длительность плавного уменьшения уровня зума после проезда манёвра.
Минимальная скорость движения в м/с, при которой длительность плавного изменения уровня зума будет рассчитываться с учётом не только близости к манёвру, но и с учётом текущей скорости. Должна быть не меньше 0.1 м/с, значения меньше будут игнорироваться.
Коэффициент ускорения анимации увеличения уровня зума при приближении к манёвру. Должен быть не меньше 1, значения меньше будут игнорироваться.
Расстояние до манёвра, при достижении которого анимация плавного увеличения уровня зума должна быть завершена, чтобы во время манёвра зум не менялся. Например, если до маневра 300 м, то анимация с плавным увеличением уровня зума должна быть завершена за 50 м до начала маневра. Должно быть не меньше 1 м, значения меньше будут игнорироваться.
Минимальное время анимации. Используется для предотвращения резких изменений уровня зума при анимации. Должно быть не меньше 200, значения меньше будут игнорироваться.