Persist map flags and toggle selected parcels
This commit is contained in:
1 parent
e93dd9b867
commit
708f539c64
5 files changed
+151
-26
No files matched your search
@@ -26,6 +26,7 @@ const lmeState = {
|
||||
lastAccuracy: 0,
|
||||
gpsTrail: null,
|
||||
selectedParcelsLayer: null,
|
||||
selectedParcelsVisible: true,
|
||||
gpsParcelLayer: null,
|
||||
gpsTrailEnabled: false,
|
||||
gpsTrailPoints: [],
|
||||
@@ -50,6 +51,7 @@ window.lmeMap = {
|
||||
exportCadastreView,
|
||||
closeCadastrePreview,
|
||||
clearSelectedParcels,
|
||||
setSelectedParcelsVisible,
|
||||
clearMapElements,
|
||||
fitImported,
|
||||
clearImported,
|
||||
@@ -1701,6 +1703,7 @@ function captureDisplayOptions() {
|
||||
showDrawingMeasurements: lmeState.showDrawingMeasurements,
|
||||
drawToolsVisible: Boolean(lmeState.drawControl),
|
||||
gpsPositionVisible: lmeState.gpsPositionVisible,
|
||||
selectedParcelsVisible: lmeState.selectedParcelsVisible,
|
||||
trailEnabled: lmeState.gpsTrailEnabled
|
||||
};
|
||||
}
|
||||
@@ -1733,6 +1736,7 @@ function applyProjectDisplayOptions(options) {
|
||||
setBaseLayer(options.baseLayer);
|
||||
}
|
||||
setGpsPositionVisible(options.gpsPositionVisible !== false);
|
||||
setSelectedParcelsVisible(options.selectedParcelsVisible !== false);
|
||||
toggleTrail(Boolean(options.trailEnabled));
|
||||
setDrawToolsVisible(Boolean(options.drawToolsVisible));
|
||||
}
|
||||
@@ -2066,6 +2070,30 @@ function clearSelectedParcels() {
|
||||
setInfo(count ? `${count} particelle selezionate rimosse.` : "Non ci sono particelle selezionate da rimuovere.");
|
||||
}
|
||||
|
||||
function setSelectedParcelsVisible(enabled) {
|
||||
lmeState.selectedParcelsVisible = Boolean(enabled);
|
||||
if (!lmeState.map || !lmeState.selectedParcelsLayer) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (lmeState.selectedParcelsVisible) {
|
||||
if (!lmeState.map.hasLayer(lmeState.selectedParcelsLayer)) {
|
||||
lmeState.selectedParcelsLayer.addTo(lmeState.map);
|
||||
}
|
||||
lmeState.selectedParcelsLayer.bringToFront();
|
||||
const count = lmeState.selectedParcelsLayer.toGeoJSON().features?.length || 0;
|
||||
setInfo(count
|
||||
? `${count} particelle selezionate visibili.`
|
||||
: "Nessuna particella selezionata da mostrare.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (lmeState.map.hasLayer(lmeState.selectedParcelsLayer)) {
|
||||
lmeState.map.removeLayer(lmeState.selectedParcelsLayer);
|
||||
}
|
||||
setInfo("Particelle selezionate nascoste; i dati restano nel progetto.");
|
||||
}
|
||||
|
||||
function clearMapElements() {
|
||||
const count = lmeState.selectedParcelsLayer.getLayers().length
|
||||
+ lmeState.gpsParcelLayer.getLayers().length
|
||||
|
||||
Reference in new issue
Block a user