Стилевой уровень масштабирования
Стилевой уровень масштабирования задаётся в стилях карты через параметр styleZoom.
Параметры styleZoom и zoom задают уровень масштабирования карты в разных проекциях. В отличие от параметра zoom, значение styleZoom учитывает искажения проекции Меркатора, благодаря чему объекты карты отображаются в одном и том же масштабе на разных широтах.
Описание
Пример фрагмента стиля:
{
type: 'polygon',
id: 'background',
filter: ['match', ['get', 'sublayer'], ['s_region'], true, false],
style: {
color: [
'interpolate', ['linear'], ['zoom'],
9, 'hsl(50, 61%, 90%)',
12, 'hsl(51, 37%, 90%)',
14, 'hsl(49, 48%, 91%)',
16, 'hsl(51, 51%, 92%)',
],
},
},
Объект описывает цвет фона для данных с полем sublayer, равным s_region. Выражение в свойстве color задаёт зависимость цвета фона от масштаба через styleZoom.
Рекомендации по использованию
- Используйте параметр
zoom, чтобы работать с масштабом карты. Значение одинаково на любой широте: как вблизи полярного круга, так и на экваторе. - Используйте
styleZoom, когда нужно работать с границами масштабирования в стилях. Например, при разработке стиля карты в Редакторе стилей, когда нужно убедиться, что объекты, ограниченные масштабом, отображаются корректно.
Приоритет параметров
По умолчанию используется параметр zoom. Вы можете указать styleZoom в настройках карты, чтобы установить масштаб, соответствующий значениям в стиле.
Если заданы оба параметра zoom и styleZoom, то styleZoom имеет более высокий приоритет.
Для динамического управления используйте методы:
- setStyleZoom() — установить значение
styleZoom; - getStyleZoom() — получить текущее значение
styleZoom.
Примеры
В примере ниже показана разница между zoom и styleZoom при одинаковом значении 16.
Карта с параметром zoom:
Карта с параметром styleZoom: