ol/style/flat
Векторные слои могут быть стилизованы с помощью объекта-литерала, содержащего свойства для штриховки, заливки, изображения и стиля текста. Перечисленные ниже типы могут быть объединены в один объект. Например, стиль с свойствами штриховки и заливки может выглядеть так:
const style = {
'stroke-color': 'yellow',
'stroke-width': 1.5,
'fill-color': 'orange',
};
Подробные сведения о доступных свойствах в зависимости от типа применяемого символизера: Stroke - свойства для нанесения штрихов к линиям и многоугольникам Fill - свойства для заливки многоугольников Text - свойства для маркировки точек, линий и многоугольников Icon - свойства для рендеринга точек с помощью значка Circle - свойства для рендеринга точек с помощью круга Shape - свойства для рендеринга точек с помощью правильной формы
Для условного применения стилей на основе фильтра можно использовать список rules. Например, чтобы стилизовать точки большим оранжевым кругом, если численность населения превышает 1 миллион, и меньшим синим кругом в противном случае:
const rules = [
{
filter: ['>', ['get', 'population'], 1_000_000],
style: {
'circle-radius': 10,
'circle-fill-color': 'red',
}
},
{
else: true,
style: {
'circle-radius': 5,
'circle-fill-color': 'blue',
},
},
];
Определения типов
-
BooleanExpression{boolean} {Массив}
-
Булево значение (например,
true) или выражение, результатом вычисления которого является булево значение (например,['>', ['get', 'population'], 1_000_000]). -
ColorExpression{Цвет} {строка} {Массив}
-
Цвет CSS (например,
'blue'), массив из 3 значений RGB (например,[0, 255, 0]), массив из 4 значений RGBA (например,[0, 255, 0, 0.5]) или выражение, результатом вычисления которого является один из этих типов цвета (например,['get', 'color']). -
DefaultStyle{Объект}
-
Эти свойства стиля по умолчанию применяются, когда другой стиль не задан.
Свойства:
Имя Тип Описание fill-colorстрока 'rgba(255,255,255,0.4)'stroke-colorстрока '#3399CC'stroke-widthчисло 1.25circle-radiusчисло 5circle-fill-colorстрока 'rgba(255,255,255,0.4)'circle-stroke-widthчисло 1.25circle-stroke-colorстрока '#3399CC' -
FlatCircle{Объект}
-
Свойства стиля круга для отображения точечных объектов. Необходимо указать хотя бы
circle-radius.Свойства:
Имя Тип Описание circle-radiusЧисловое выражение | undefined Радиус круга.
circle-fill-colorЦветное выражение | undefined Цвет заливки.
'none'означает отсутствие заливки и обнаружения попадания.circle-stroke-colorЦветное выражение | undefined Цвет обводки.
circle-stroke-widthЧисловое выражение | undefined Ширина обводки в пикселях.
circle-stroke-line-capСтроковое выражение
(по умолчанию 'round')Стиль окончания линии:
butt,roundилиsquare. (Только Canvas).circle-stroke-line-joinСтроковое выражение
(по умолчанию 'round')Стиль соединения линии:
bevel,roundилиmiter. (Только Canvas).circle-stroke-line-dashМассив чисел выражение | undefined Шаблон пунктирной линии. (Только Canvas).
circle-stroke-line-dash-offsetЧисловое выражение
(по умолчанию 0)Смещение пунктирной линии. (Только Canvas).
circle-stroke-miter-limitЧисловое выражение
(по умолчанию 10)Предел скругления. (Только Canvas).
circle-displacementМассив чисел выражение
(по умолчанию [0,0])Смещение.
circle-scaleРазмерное выражение
(по умолчанию 1)Масштаб. Двумерный масштаб создаст эллипс. Если двумерный масштаб не требуется, лучше использовать соответствующее значение для
circle-radius.circle-opacityЧисловое выражение | undefined Непрозрачность круга. (Только WebGL).
circle-rotationЧисловое выражение
(по умолчанию 0)Поворот в радианах (по часовой стрелке, имеет смысл только при использовании в сочетании с двумерным масштабированием).
circle-rotate-with-viewБулево выражение
(по умолчанию false)Включает ли поворот фигуры вместе с видом (выражение поддерживается только в Canvas) (имеет смысл только при использовании в сочетании с двумерным масштабированием).
circle-declutter-modeРежим устранения наложения | undefined Режим устранения наложения (только Canvas).
z-indexЧисловое выражение | undefined Индекс z стиля. (Только Canvas).
-
FlatFill{Объект}
-
Свойства стиля заливки, применяемые к полигональным объектам.
Свойства:
Имя Тип Описание fill-colorЦветное выражение | undefined Цвет заливки.
'none'означает отсутствие заливки и обнаружения попадания (применимо только к Canvas).fill-pattern-srcСтроковое выражение | undefined URI источника изображения шаблона заливки. Если также определен
fill-color, он будет использоваться для тонирования этого изображения. (Выражения только в Canvas).fill-pattern-sizeРазмерное выражение | undefined Размер изображения шаблона заливки в пикселях. Может использоваться вместе с
fill-pattern-offsetдля определения подпрямоугольника, используемого из изображения шаблона заливки спрайт-листа.fill-pattern-offsetРазмерное выражение
(по умолчанию [0, 0])Смещение, которое вместе с размером и началом смещения определяет подпрямоугольник, используемый из исходного изображения шаблона заливки.
fill-pattern-offset-originНачальная точка иконки
(по умолчанию 'top-left')Начальная точка смещения:
bottom-left,bottom-right,top-leftилиtop-right. (Только WebGL). -
FlatIcon{Объект}
-
Свойства стиля иконок, применяемые к точкам.
icon-srcнеобходимо для отображения точек с иконкой.Свойства:
Имя Тип Описание icon-srcstring | undefined URI источника изображения.
icon-anchorNumberArrayExpression
(по умолчанию [0.5, 0.5])Якорь. Значение по умолчанию — центр иконки.
icon-anchor-originIconOrigin
(по умолчанию 'top-left')Начальная точка якоря:
bottom-left,bottom-right,top-leftилиtop-right.icon-anchor-x-unitsIconAnchorUnits
(по умолчанию 'fraction')Единицы, в которых задаётся значение x якоря. Значение
'fraction'означает, что значение x — это доля от размера иконки. Значение'pixels'означает, что значение x в пикселях.icon-anchor-y-unitsIconAnchorUnits
(по умолчанию 'fraction')Единицы, в которых задаётся значение y якоря. Значение
'fraction'означает, что значение y — это доля от размера иконки. Значение'pixels'означает, что значение y в пикселях.icon-colorColorExpression | undefined Цвет для тонирования иконки. Если не указан, иконка останется без изменений.
icon-cross-originnull | string | undefined Атрибут
crossOriginдля загружаемых изображений. Обратите внимание, что вам необходимо предоставить значениеicon-cross-origin, если вы хотите получить доступ к данным пикселей с помощью рендерера Canvas. Подробнее см. https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image.icon-offsetSizeExpression
(по умолчанию [0, 0])Смещение, которое вместе с размером и начальной точкой смещения определяет подпрямоугольник для использования из исходного изображения иконки.
icon-displacementNumberArrayExpression
(по умолчанию [0,0])Смещение иконки.
icon-offset-originIconOrigin
(по умолчанию 'top-left')Начальная точка смещения:
bottom-left,bottom-right,top-leftилиtop-right.icon-opacityNumberExpression
(по умолчанию 1)Непрозрачность иконки.
icon-scaleSizeExpression
(по умолчанию 1)Масштаб.
icon-widthNumberExpression | undefined Ширина иконки. Если не указана, будет использоваться фактическая ширина изображения. Нельзя использовать вместе с
scale. (Выражения только в WebGL)icon-heightNumberExpression | undefined Высота иконки. Если не указана, будет использоваться фактическая высота изображения. Нельзя использовать вместе с
scale. (Выражения только в WebGL)icon-rotationNumberExpression
(по умолчанию 0)Поворот в радианах (положительное значение — по часовой стрелке).
icon-rotate-with-viewBooleanExpression
(по умолчанию false)Поворачивать иконку вместе с видом. (Выражения поддерживаются только в Canvas)
icon-sizeSizeExpression | undefined Размер иконки в пикселях. Можно использовать вместе с
icon-offsetдля определения подпрямоугольника для использования из исходного изображения иконки (спрайта). (Выражения только в WebGL)icon-declutter-modeDeclutterMode | undefined Режим разнесения (только Canvas)
z-indexNumberExpression | undefined Индекс z стиля. (Только Canvas)
-
FlatShape{Object}
-
Свойства стиля для отображения точечных объектов с правильной формой. Необходимо указать по крайней мере
shape-points.Свойства:
Имя Тип Описание shape-pointsNumberExpression | undefined Количество точек для звезд и правильных многоугольников. В случае многоугольника количество точек равно количеству сторон. (Выражения только в WebGL)
shape-fill-colorColorExpression | undefined Цвет заливки.
'none'означает отсутствие заливки и обнаружения объектов.shape-stroke-colorColorExpression | undefined Цвет обводки.
shape-stroke-widthNumberExpression | undefined Ширина обводки в пикселях.
shape-stroke-line-capStringExpression
(по умолчанию 'round')Стиль окончания линии:
butt,roundилиsquare. (Только Canvas)shape-stroke-line-joinStringExpression
(по умолчанию 'round')Стиль соединения линий:
bevel,roundилиmiter. (Только Canvas)shape-stroke-line-dashNumberArrayExpression | undefined Шаблон пунктирной линии. (Только Canvas)
shape-stroke-line-dash-offsetNumberExpression
(по умолчанию 0)Смещение пунктирной линии. (Только Canvas)
shape-stroke-miter-limitNumberExpression
(по умолчанию 10)Предел скругления. (Только Canvas)
shape-radiusNumberExpression | undefined Радиус правильного многоугольника. (Выражения только в WebGL)
shape-radius2NumberExpression | undefined Второй радиус для создания звезды вместо правильного многоугольника. (Выражения только в WebGL)
shape-angleNumberExpression
(по умолчанию 0)Угол формы в радианах. Значение 0 соответствует одному из точек формы, направленной вверх. (Выражения только в WebGL)
shape-displacementNumberArrayExpression
(по умолчанию [0,0])Смещение формы.
shape-opacityNumberExpression | undefined Непрозрачность формы. (Только WebGL)
shape-rotationNumberExpression
(по умолчанию 0)Поворот в радианах (положительное значение — по часовой стрелке).
shape-rotate-with-viewBooleanExpression
(по умолчанию false)Поворачивать ли форму вместе с видом. (Выражение поддерживается только в Canvas)
shape-scaleSizeExpression
(по умолчанию 1)Масштаб. Если необходим двухмерный масштаб, лучше использовать соответствующие параметры для
shape-radiusиshape-radius2.shape-declutter-modeDeclutterMode | undefined Режим слияния. (Только Canvas)
z-indexNumberExpression | undefined zIndex стиля. (Только Canvas)
-
FlatStroke{Object}
-
Свойства стиля обводки, применяемые к линиям и границам полигонов. Для применения обводки необходимо указать хотя бы один из
stroke-colorилиstroke-width.Свойства:
Имя Тип Описание stroke-colorColorExpression | undefined Цвет обводки.
stroke-widthNumberExpression | undefined Ширина обводки в пикселях.
stroke-line-capStringExpression
(по умолчанию 'round')Стиль окончания линии:
butt,roundилиsquare.stroke-line-joinStringExpression
(по умолчанию 'round')Стиль соединения линий:
bevel,roundилиmiter.stroke-line-dashNumberArrayExpression | undefined Шаблон пунктирной линии.
stroke-line-dash-offsetNumberExpression
(по умолчанию 0)Смещение пунктирной линии.
stroke-miter-limitNumberExpression
(по умолчанию 10)Предел скругления.
stroke-offsetNumberExpression | undefined Смещение обводки в пикселях. Положительное значение смещает линию вправо относительно направления линии. (Только WebGL)
stroke-pattern-srcstring | undefined URI источника изображения для шаблона обводки. Если
stroke-colorтакже определен, он будет использоваться для тонирования этого изображения. (Только WebGL)stroke-pattern-offsetSizeExpression
(по умолчанию [0, 0])Смещение, которое вместе с размером и началом смещения определяет подпрямоугольник для использования из исходного изображения шаблона заливки. (Только WebGL)
stroke-pattern-offset-originIconOrigin
(по умолчанию 'top-left')Начальная точка смещения:
bottom-left,bottom-right,top-leftилиtop-right. (Только WebGL)stroke-pattern-sizeSizeExpression | undefined Размер изображения шаблона обводки в пикселях. Может использоваться вместе с
stroke-pattern-offsetдля определения подпрямоугольника для использования из исходного изображения шаблона заливки (спрайта). (Только WebGL)stroke-pattern-spacingNumberExpression | undefined Интервал между каждым элементом шаблона в пикселях; 0, если не определено.
z-indexNumberExpression | undefined zIndex стиля.
-
FlatStyle{FlatFill} {FlatStroke} {FlatText} {FlatIcon} {FlatShape} {FlatCircle}
-
Для статической стилизации метод
layer.setStyle()может быть вызван с объектной литеральной записью, имеющей свойства fill, stroke, text, icon, regular shape, и/или circle. -
Литеральная запись плоского стиля или массив таких записей.
-
FlatText{Object}
-
Свойства стиля метки, применяемые ко всем объектам. Минимально необходимо предоставить
text-value. Примечание: стиль текста в настоящее время не поддерживается в слоях WebGL.Свойства:
Имя Тип Описание text-valueStringExpression | undefined Текст (с
\nдля переноса строк).text-fontStringExpression
(по умолчанию '10px sans-serif')Стиль шрифта в виде значения CSS
font.text-max-angleNumberExpression
(по умолчанию Math.PI/4)Если
text-placementустановлено в'line', разрешить максимальный угол между соседними символами. Ожидаемое значение — в радианах, значение по умолчанию — 45° (Math.PI / 4).text-offset-xNumberExpression
(по умолчанию 0)Горизонтальное смещение текста в пикселях. Положительное значение сместит текст вправо.
text-offset-yNumberExpression
(по умолчанию 0)Вертикальное смещение текста в пикселях. Положительное значение сместит текст вниз.
text-overflowBooleanExpression
(по умолчанию false)Для меток многоугольников или когда
placementустановлено в'line', разрешить текстовое содержимое, превышающее ширину многоугольника в позиции метки или длину пути, по которому он следует.text-placementStringExpression
(по умолчанию 'point')Размещение текста.
text-repeatNumberExpression | undefined Интервал повторения в пикселях. При установке текст будет повторяться с этим интервалом. Доступно только тогда, когда
text-placementустановлено в'line'. Переопределяетtext-align.text-scaleSizeExpression | undefined Масштаб.
text-rotate-with-viewBooleanExpression
(по умолчанию false)Вращать текст вместе с видом.
text-rotationNumberExpression
(по умолчанию 0)Угол поворота в радианах (положительное значение — по часовой стрелке).
text-alignStringExpression | undefined Выравнивание текста. Возможные значения:
'left','right','center','end'или'start'. По умолчанию'center'для'text-placement': 'point'. Для'text-placement': 'line'по умолчанию рендерер выбирает размещение, гдеtext-max-angleне превышен.text-justifyStringExpression | undefined Выравнивание текста внутри текстового поля. Если не указано, текст выравнивается к якорю
textAlign. В противном случае используйте варианты'left','center'или'right'для выравнивания текста внутри текстового поля. Примечание:text-justifyигнорируется для немедленного рендеринга, а также для'text-placement': 'line'.text-baselineStringExpression
(по умолчанию 'middle')Линия базы текста. Возможные значения:
'bottom','top','middle','alphabetic','hanging','ideographic'.text-paddingNumberArrayExpression
(по умолчанию [0, 0, 0, 0])Отступ в пикселях вокруг текста для избегания перекрытия и фона. Порядок значений в массиве —
[top, right, bottom, left].text-fill-colorColorExpression | undefined Цвет заливки.
'none'означает отсутствие заливки и обнаружения попадания.text-background-fill-colorColorExpression | undefined Цвет заливки.
'none'означает отсутствие заливки и обнаружения попадания.text-stroke-colorColorExpression | undefined Цвет контура.
text-stroke-line-capStringExpression
(по умолчанию 'round')Стиль окончания линии:
butt,roundилиsquare.text-stroke-line-joinStringExpression
(по умолчанию 'round')Стиль соединения линии:
bevel,roundилиmiter.text-stroke-line-dashNumberArrayExpression | undefined Шаблон штриховки.
text-stroke-line-dash-offsetNumberExpression
(по умолчанию 0)Смещение штриховки.
text-stroke-miter-limitNumberExpression
(по умолчанию 10)Предел фаски.
text-stroke-widthNumberExpression | undefined Ширина контура в пикселях.
text-background-stroke-colorColorExpression | undefined Цвет контура.
text-background-stroke-line-capStringExpression
(по умолчанию 'round')Стиль окончания линии:
butt,roundилиsquare.text-background-stroke-line-joinStringExpression
(по умолчанию 'round')Стиль соединения линии:
bevel,roundилиmiter.text-background-stroke-line-dashNumberArrayExpression | undefined Шаблон штриховки.
text-background-stroke-line-dash-offsetNumberExpression
(по умолчанию 0)Смещение штриховки.
text-background-stroke-miter-limitNumberExpression
(по умолчанию 10)Предел фаски.
text-background-stroke-widthNumberExpression | undefined Ширина контура в пикселях.
text-declutter-modeDeclutterMode | undefined Режим устранения перекрытий
z-indexNumberExpression | undefined Индекс z стиля.
-
NumberArrayExpression{Array.<number>} {Array}
-
Массив чисел (например,
[1, 2, 3]) или выражение, которое вычисляется в такое же значение (например,['get', 'values']). -
NumberExpression{number} {Array}
-
Числовое значение (например,
42) или выражение, которое вычисляется в число (например,['+', 40, 2]). -
Rule{Object}
-
Правило используется для условного применения стиля. Если выражение фильтра правила вычисляет значение true, стиль будет применён.
Свойства:
Имя Тип Описание styleFlatStyle | Array<FlatStyle> Стиль, который будет применён, если фильтр соответствует условиям.
filterEncodedExpression | undefined Фильтр, используемый для определения применения стиля. Если фильтр не указан, правило всегда применяется (если это не правило else).
elseboolean | undefined Если true, правило применяется только если не применяется никакое другое предыдущее правило. Если правило else также содержит фильтр, правило не будет применено, если фильтр не соответствует условиям.
-
SizeExpression{number} {Array.<number>} {Array}
-
Массив из двух чисел (например,
[10, 20]) или выражение, которое вычисляется в такое же значение (например,['get', 'size']). -
StringExpression{string} {Array}
-
Литеральная строка (например,
'hello') или выражение, которое вычисляется в строку (например,['get', 'greeting']). -
StyleVariables{Object.<string, (number|Array.<number>|string|boolean)>}
-
Переменные стиля предоставляются в виде объекта. Переменные могут быть прочитаны в
style expressionс использованием оператора['var', 'varName']. Каждая переменная должна содержать литеральное значение (не выражение).
© 2005-present, OpenLayers Contributors All rights reserved.Licensed under the BSD 2-Clause License.
https://openlayers.org/en/latest/apidoc/module-ol_style_flat.html