Skip to content

Commit 13f0769

Browse files
committed
fix: added loadLayers
1 parent 2f13813 commit 13f0769

File tree

1 file changed

+29
-23
lines changed

1 file changed

+29
-23
lines changed

src/vendors/Geo.jsx

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,32 @@ function Geo(props) {
120120
})
121121
}
122122

123+
const loadLayers = function (map) {
124+
if (map) {
125+
console.log("LoadLayer")
126+
// Validate and create new layers
127+
const layers = Array.isArray(props.layers) ? props.layers :
128+
props.defaults && Array.isArray(props.defaults.layers) ? props.defaults.layers : [];
129+
const validatedLayers = layers.filter(layer => layer !== null && layer !== undefined);
130+
const sortedLayers = validatedLayers
131+
.sort((a, b) => (a.order || 0) - (b.order || 0))
132+
.map(createLayer)
133+
.filter(layer => layer !== null && layer !== undefined);
134+
map.getLayers().clear();
135+
sortedLayers.forEach(layer => { if (layer) map.addLayer(layer) });
136+
137+
//TrackerVector
138+
if (featureEnabled('tracker')) {
139+
map.addLayer(trackerVector)
140+
}
141+
//Add drawLayer and values if set
142+
if (featureEnabled('draw')) {
143+
map.addLayer(drawVector)
144+
}
145+
fireEvent("map:layers", layers)
146+
}
147+
}
148+
123149
//Configuration of Map component, changing watch props will rebuild map object
124150
useEffect(() => {
125151
if (geoRef) {
@@ -557,6 +583,8 @@ function Geo(props) {
557583
// Notification Control
558584
olMap.addControl(notification);
559585

586+
loadLayers(olMap)
587+
560588
//Add map init event
561589
fireEvent('map:init', olMap);
562590

@@ -614,29 +642,7 @@ function Geo(props) {
614642

615643
// Dynamic layer updating
616644
useEffect(() => {
617-
if (map) {
618-
// Validate and create new layers
619-
const layers = Array.isArray(props.layers) ? props.layers :
620-
props.defaults && Array.isArray(props.defaults.layers) ? props.defaults.layers : [];
621-
const validatedLayers = layers.filter(layer => layer !== null && layer !== undefined);
622-
const sortedLayers = validatedLayers
623-
.sort((a, b) => (a.order || 0) - (b.order || 0))
624-
.map(createLayer)
625-
.filter(layer => layer !== null && layer !== undefined);
626-
map.getLayers().clear();
627-
sortedLayers.forEach(layer => { if (layer) map.addLayer(layer) });
628-
629-
//TrackerVector
630-
if (featureEnabled('tracker')) {
631-
map.addLayer(trackerVector)
632-
}
633-
//Add drawLayer and values if set
634-
if (featureEnabled('draw')) {
635-
map.addLayer(drawVector)
636-
}
637-
638-
fireEvent("map:layers", layers)
639-
}
645+
loadLayers(map)
640646
}, [map, props.layers]); // Re-evaluate when layers change
641647

642648
//GPS location

0 commit comments

Comments
 (0)