В примерах выделения полигонов в mapbox gl используется второй слой и функция фильтра. Невозможно ли изменить цвет одного объекта / полигона в mapbox gl js, взятого из источника geojson?
См. https://www.mapbox.com/mapbox-gl-js/example/hover-styles/
В примерах выделения полигонов в mapbox gl используется второй слой и функция фильтра. Невозможно ли изменить цвет одного объекта / полигона в mapbox gl js, взятого из источника geojson?
См. https://www.mapbox.com/mapbox-gl-js/example/hover-styles/
Можно стилизовать отдельный объект, используя стиль, управляемый данными, который однозначно реагирует на атрибут одного объекта. Например, если у вас есть набор точечных данных с атрибутом id
и вы хотите, чтобы идентификатор 450 был желтым, а не синим.
{
"id": "mypoints",
"type": "circle",
"paint": {
"fill-color": {
"property": "id",
"type": "category",
"stops": [[450, "yellow"]],
"default": "blue"
}
}
}
Предостережение 1: функция "по умолчанию" еще не общедоступна.
Предостережение 2: это работает только для свойств стиля, которые поддерживают функции, управляемые данными.
setStyle
меняет один слой. setPaintProperty
изменяет одно свойство одного слоя (как и setLayoutProperty
). Оба потенциально чрезвычайно быстрые - нет перезагрузки всей карты.
- person Steve Bennett; 22.03.2017