Можно ли использовать встроенный атрибут properties
источника данных GeoJSON для автоматического оформления карты Mapbox GL без предварительного указания стиля?
У меня есть вариант использования, когда я динамически загружаю данные GeoJSON LineString
, которые должны быть определенного цвета, и в них уже встроены данные стиля:
{"properties": {"color": "#ffff33"...
Прямо сейчас у меня довольно неэлегантная установка, в которой соответствующий цвет анализируется, преобразуется в стиль и добавляется на карту при каждой загрузке:
$scope.patternPropToStyle = function(props) {
var id = 'pattern' + props.pid;
var style = {
"id": id,
"type": "line",
"source": id,
"render": {
"$type": "LineString",
"line-join": "round",
"line-cap": "round"
},
"paint": {
"line-color": props.color,
"line-width": 8
}
}
$scope._mapStyle.layers.push(style);
$scope._map.setStyle($scope._mapStyle);
}
Я чувствую, что должен быть лучший способ сделать это.