ru.dgis.sdk.navigation.ZoomFollowSettings | Android SDK | 2GIS Documentation

ZoomFollowSettings

Интерфейс, позволяющий управлять настройками масштабирования карты во время ведения.

Во время ведения масштаб зависит от скорости движения. Значение масштаба выбирается на основании значений SpeedRangeToZoom, которые хранятся в последовательности speed_range_to_zoom_sequence. Последовательность speed_range_to_zoom_sequence должна содержать интервалы скоростей, отсортированные по возрастанию значений min_speed, при этом должно выполняться условие: max_speedi >= min_speedi+1

max_speedi < min_speedi+2 то есть интервалы скоростей должны соприкасаться или даже пересекаться, но значение скорости не должно попадать более чем в два интервала Первый интервал скоростей должен содержать значение min_speed == 0

Масштаб карты выбирается из последовательности speed_range_to_zoom_sequence по алгоритму:

  • На старте ведения выбирается элемент последовательности с index == 0.
  • Во время движение происходит проверка, на то, не вышло ли текущее значение скорости за пределы интервала скоростей, указанных в элементе последовательности с индексом index, если скорость вышла за пределы интервала, то происходит поиск соседнего интервала в который попадает значение скорости и запоминается его индекс.
  • Происходит проверка не проезжаем ли мы маневр, считается, что мы проезжаем маневр, если есть маневр по ходу движения и дистанция до маневра не превышает max_distance_before_maneuver_to_zoom, или мы проехали маневр, но не отдалились от него на дистанцию больше чем max_distance_after_maneuver_to_zoom. Если мы проезжаем маневр, то выбирается масштаб, соответствующие элементу последовательности index - 1; иначе выбирается масштаб, соответствующий элементу index
  • Methods
    Properties

    Последовательность интервалов скоростей и соответствующих им масштабам. Используется для автоматического изменения масштаба в навигаторе в зависимости от скорости.

    Расстояние, в метрах, до предстоящего маневра, начиная с которого будет выбираться "предыдущее" значение масштаба из speed_ranges_to_style_zoom_sequence (кроме ситуаций когда уже используется первое значение).

    Расстояние, в метрах, после маневра, на протяжении которого будет выбираться "предыдущее" значение масштаба из speed_ranges_to_style_zoom_sequence (кроме ситуаций когда уже используется первое значение).