Есть ли способ автоматически стилизовать каждую функцию, читаемую из файла GeoJSON и по-разному используемую в качестве источника для векторного слоя?Я приложил снимок экрана: этот беспорядок в зеленых линиях более чем запутанный.Было бы хорошо, чтобы каждая строка имела другой цвет, случайно назначенный ей.Спасибо за вашу помощь!
Редактировать: добавлен код
Здесь вы найдете соответствующий код, который я использую для этого представления.Вы можете видеть, что я определяю green
как цвет для LineStrings, но мне интересно, как я могу автоматизировать распределение различных цветов в LineStrings.
// load GeoJSON with > 2000 Line Features
var fullGeoJSON = require("./data/datafile.json");
// Style function to be called in Layer definition, uses Styles defined in var styles
var styleFunction = function (feature) {
return styles[feature.getGeometry().getType()];
};
// Define Style (one for all)
var styles = {
"Point": new Style({
image: image
}),
"LineString": new Style({
stroke: new Stroke({
color: "green",
width: 3
})
}),
};
// Define Source
var geoSource = new VectorSource({
features: new GeoJSON().readFeatures(fullGeoJSON, {
featureProjection: "EPSG:3857"
})
});
// Define Layer
var baseLayer = new VectorLayer({
source: geoSource,
style: styleFunction
});
// Define Map
const mainMap = new Map({
target: "map-container",
layers: [baseLayer],
view: initialView
});