Можно ли использовать LayerGroup для полигонов GeoJSON, MultiLineStrings и LineStrings?
В документации leaflet.js задокументирован пример со слоями маркеров. Я хотел бы создать слой полигонов в формате GeoJSON. Это возможно?
Я определил переменную для каждого полигона GeoJSON, которая называется route1, route2 и т. Д. Мой файл.js выглядит следующим образом:
var map = L.map('map', {
center: [55.676098, 12.568337],
});
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
//============
//Create layer
//============
var Southroutes = new L.layerGroup([route1, route2, route3, route4, route5]);
L.geoJSON(Southroutes).addTo(map);
1 ответ
Вы можете объединить объекты geojson перед добавлением на карту.
var features = [];
[route1, route2, route3].forEach(function(route){
features = features.concat(route.features);
})
var Southroutes = L.geoJSON({
"type": "FeatureCollection",
"features": features
}).addTo(map);
Или просто используйте leaflet.js geojson addData
var Southroutes = L.geoJSON().addTo(map);
[route1, route2, route3].forEach(function(route){
Southroutes.addData(route);
})
( Скрипка)