Compare commits

..
6 changed files with 909 additions and 123 deletions

No files matched your search

+20 -4
View File
@@ -24,6 +24,7 @@
{
"layers" => "Qui controlli visibilita, ordine, selezione e organizzazione di tutti gli oggetti presenti sulla mappa.",
"cadastre" => "Trova una particella nel catalogo catastale e mostrane il confine ufficiale sulla mappa.",
"fiducials" => "Ricerca i Punti Fiduciali di un foglio, consultali sulla mappa e scarica le monografie disponibili.",
"data" => "Importa file GIS, crea disegni e misure oppure aggiungi punti di interesse.",
"save" => "Esporta gli elementi della mappa in un file compatibile con altre applicazioni GIS e GPS.",
"projects" => "Salva il lavoro completo, riaprilo, organizzalo e recupera revisioni o copie di sicurezza.",
@@ -40,6 +41,7 @@
"Gerarchia: premi la freccia accanto alla maniglia per aprire un gruppo. Il rientro, il carattere e la tonalita indicano se una riga e figlia, nipote o di livello successivo.",
"Selezione multipla: attiva il flag sulle righe desiderate. Esempio: seleziona tre poligoni per esportare solo quelli oppure per bloccarli con una sola operazione.",
"Rinomina e attributi: Rinomina modifica il nome mostrato e salvato nei progetti e nei file esportati; Attributi apre un editor multilinea per consultare o correggere i dati associati.",
"Note: espandi un oggetto e premi Visualizza note per consultarne l'elenco. Con LME Pro, tramite abbonamento o licenza manuale, puoi aggiungere, modificare ed eliminare un numero qualsiasi di note; le vecchie note singole restano compatibili.",
"Colori: espandi un padre o un figlio e usa gli editor di linea e riempimento. Puoi scegliere il colore, prelevarlo con il contagocce se supportato, oppure inserire e copiare i valori HEX, RGB e HSL; sul padre viene applicato a tutto il gruppo.",
"Blocco: il lucchetto impedisce modifiche e spostamenti involontari. Sblocca l'oggetto prima di usare la matita o gli strumenti geometrici.",
"Sposta nel gruppo cambia l'appartenenza. Esempio: trasferisci un poligono da Disegni e POI a Progetti e dati importati, oppure in un nuovo sottogruppo chiamato Rilievo nord.",
@@ -56,6 +58,16 @@
"Se un oggetto gia presente era nascosto, viene reso nuovamente visibile. La visibilita generale dei contorni evidenziati e dei dati importati resta controllabile dal pannello Layer.",
"Quando il servizio ufficiale non restituisce subito il confine, attendi il completamento indicato nel pannello e riprova mantenendo gli stessi dati selezionati."
],
"fiducials" =>
[
"La funzione richiede LME Pro: sono validi sia l'abbonamento Google Play sia una licenza manuale attiva.",
"Scegli Provincia, Comune catastale e Foglio, quindi premi Cerca Punti Fiduciali. Puoi anche usare il comando PF sulla mappa dopo aver selezionato una particella o un foglio, dalla particella individuata dal GPS oppure, in navigazione, mostrando il layer del foglio catastale corrente.",
"Mantieni i PF dei fogli gia caricati conserva i risultati precedenti come sottogruppi distinti; disattivalo per sostituirli con il nuovo foglio.",
"Il flag Mostra i PF sulla mappa controlla la visibilita generale. Nel pannello Layer puoi inoltre cambiare colore, ordine, visibilita o rimuovere il singolo gruppo del foglio.",
"Tocca un punto rosso per vedere identificativo e coordinate. Quando disponibile, Scarica PDF monografia apre o salva il documento ufficiale dell'Agenzia delle Entrate.",
"I PF caricati vengono salvati nel progetto con gruppi, popup e collegamenti alle monografie; riaprendo il progetto tornano disponibili come gli altri oggetti.",
"Il posizionamento cartografico e sperimentale e non sostituisce un rilievo topografico o la verifica professionale sul posto."
],
"data" =>
[
"Importazione: premi Carica KML, KMZ o GeoJSON e scegli il file dal dispositivo. I nomi e gli attributi riconosciuti vengono mantenuti.",
@@ -75,11 +87,11 @@
"Attiva solo le categorie da includere. Esempio: per consegnare disegni e particelle importate senza la traccia GPS, lascia attive quelle due voci e disattiva Traccia GPS.",
"Solo oggetti selezionati esporta esclusivamente le righe contrassegnate nel pannello Layer. Se non devi filtrare manualmente, lascia questa opzione disattivata.",
"Premi Esporta e salva file e scegli la cartella o l'app di destinazione proposta dal dispositivo.",
"Nomi rinominati e attributi vengono salvati in GeoJSON, KML e KMZ. Gli sfondi satellitari, stradali e WMS non vengono incorporati nei file vettoriali."
"Nomi rinominati, attributi e note compatibili vengono salvati nei formati che supportano metadati. Gli sfondi satellitari, stradali e WMS non vengono incorporati nei file vettoriali."
],
"projects" =>
[
"Nuovo progetto: inserisci un nome, scegli se includere i contorni catastali evidenziati e premi Salva progetto. Vengono conservati oggetti, gruppi, nomi, attributi e opzioni di visualizzazione.",
"Nuovo progetto: inserisci un nome, scegli se includere i contorni catastali evidenziati e premi Salva progetto. Vengono conservati oggetti, gruppi, nomi, attributi, note, Punti Fiduciali caricati e opzioni di visualizzazione.",
"Aggiornamento: dopo aver aperto un progetto, usa di nuovo Salva progetto con lo stesso nome per aggiornarlo. Se nelle Impostazioni attivi Aggiorna automaticamente il progetto aperto, le modifiche vengono registrate dopo 3 secondi di inattivita.",
"Cartelle: seleziona un progetto, scrivi per esempio Cantieri 2026 e premi Sposta per organizzarlo nell'archivio; questa operazione non sposta le geometrie sulla mappa.",
"Rinomina cambia il nome del progetto selezionato senza alterarne contenuti e revisioni. Duplica crea invece una copia modificabile, utile prima di una variante importante o quando ricevi un progetto in sola lettura.",
@@ -90,7 +102,8 @@
],
"tools" =>
[
"Tabella oggetti: apre una vista ordinata di particelle, file importati e disegni. Usa i flag per selezionare piu righe, il lucchetto per proteggerle e la matita per modificare i metadati.",
"Tabella oggetti: apre una vista ordinata di particelle catastali, file importati e disegni. La selezione e bidirezionale con mappa e pannello Layer: Singola sostituisce la scelta, Multipla aggiunge o rimuove oggetti, Disattivata deseleziona tutto e blocca nuove selezioni. Cancella selezione toglie soltanto lo stato selezionato e non elimina geometrie.",
"Colonna Note: il pulsante Note e sempre attivo e apre tutte le note dell'oggetto. La consultazione resta disponibile anche senza Pro; aggiunta, modifica ed eliminazione richiedono abbonamento o licenza manuale.",
"Copia metadati: nella maschera Metadati oggetto scegli Copia da e l'oggetto sorgente. Attiva Importa anche i valori per copiare nomi e contenuti; disattivalo per creare soltanto gli stessi campi, lasciandoli vuoti o mantenendo i valori gia presenti.",
"Coordinate WGS84 e UTM: scegli un punto sulla mappa per leggere latitudine e longitudine oppure le coordinate metriche UTM, utili per rilievi e confronti tecnici.",
"Registro operazioni: mostra in ordine cronologico disegni, modifiche, rinomine, spostamenti ed eliminazioni, cosi puoi capire cosa e cambiato durante la sessione.",
@@ -102,6 +115,8 @@
"settings" =>
[
"Mappa e sfondo: scegli la cartografia di base e regola Trasparenza catasto per leggere meglio confini e immagini sottostanti. Esempio: riducila quando le linee coprono dettagli del terreno.",
"Bussola: attiva Mostra bussola per visualizzare N, NE, E, SE, S, SW, W e NW. Puoi trascinarla nella posizione preferita. La modalita predefinita mantiene il nord della mappa fisso in alto e la lancetta indica il nord con movimento continuo; in modalita Navigatore la mappa segue l'orientamento del dispositivo.",
"Messaggi mappa: scegli dopo quanti secondi devono chiudersi automaticamente; imposta 0 per mantenerli finche non premi la X.",
"Autosalvataggio locale dopo ogni modifica: se attivo, ogni disegno, modifica, rinomina o eliminazione aggiorna immediatamente una copia di recupero nel dispositivo. Per usarla apri Dati e disegni e premi Recupera ultimo autosalvataggio.",
"Aggiorna automaticamente il progetto aperto: funziona solo dopo aver aperto o salvato un progetto modificabile. Dopo una modifica attende 3 secondi senza altre operazioni e aggiorna quel progetto; un progetto in sola lettura non viene mai sovrascritto.",
"Backup automatico: scegli Giornaliero o Settimanale. Alla successiva pressione di Salva progetto, se e trascorso l'intervallo, viene creata una copia interna di tutti i progetti; l'app conserva le 10 copie automatiche piu recenti. Disattivato non crea nuove copie programmate.",
@@ -109,7 +124,8 @@
"Aggancio ai vertici: avvicinando un nuovo vertice a uno esistente, l'app lo allinea entro la distanza in pixel scelta. Aumenta la distanza su schermi piccoli; riducila quando ci sono molti vertici ravvicinati.",
"Centra e zooma quando seleziono un oggetto: attivalo per inquadrare automaticamente ogni elemento scelto; disattivalo se vuoi mantenere ferma la vista mentre lavori dall'elenco Layer.",
"WebDAV: inserisci indirizzo, utente e password applicazione, salva la configurazione, poi usa Invia al cloud per caricare il backup o Scarica dal cloud per ripristinare quello remoto.",
"GPS e percorso: Mostra punto visualizza posizione e precisione; Registra traccia memorizza il cammino; distanza e avvisi aiutano a controllare l'avvicinamento e l'attraversamento del confine selezionato.",
"GPS e percorso: Mostra punto visualizza posizione e precisione; Registra traccia memorizza il cammino; distanza e avvisi aiutano a controllare l'avvicinamento e l'attraversamento del confine selezionato. Avvia/Ferma GPS e Centra sono disposti verticalmente e il riquadro puo essere compresso.",
"Fogli catastali in navigazione: con Fogli catastali attivo nel pannello Layer, l'app carica il foglio anche senza particelle o progetti e lo mantiene visibile a zoom piu ampi senza duplicarlo se e gia presente.",
"Google Maps e Azure Maps richiedono le rispettive chiavi solo quando scegli quegli sfondi. Controlla nuova versione confronta la versione installata con l'ultima pubblicata e mostra le relative modifiche."
],
_ => []
+4 -2
View File
@@ -309,6 +309,7 @@
<p>Elenco e PDF provengono dall'Agenzia delle Entrate; il posizionamento sperimentale usa il servizio cartografico GloboGIS. Le coordinate sono un ausilio: verificale prima di qualsiasi uso topografico o professionale.</p>
</div>
}
<MenuHelp Topic="fiducials" />
</section>
}
else if (ActiveTab == "data")
@@ -680,7 +681,7 @@
<label>
Orientamento bussola
<select @bind="CompassMode" @bind:after="ApplyCompassOptions" disabled="@(!ShowCompass)">
<option value="fixed">Mappa: nord fisso in alto</option>
<option value="fixed">Mappa: nord fisso in alto (predefinito)</option>
<option value="heading">Navigatore: direzione del dispositivo in alto</option>
</select>
</label>
@@ -2538,6 +2539,7 @@
{
advancedGeometry = CanUse(AppFeatures.AdvancedGeometry),
fiducialPoints = CanUse(AppFeatures.FiducialPoints),
multipleNotes = CanUse(AppFeatures.MultipleNotes),
maxDrawingObjects = Entitlements.HasProAccess ? (int?)null : EntitlementService.BaseDrawingObjectLimit,
drawingLimitMessage = L("drawings.base.limit.reached")
}).AsTask();
@@ -2869,7 +2871,7 @@
{
compass.ReadingChanged += OnCompassReadingChanged;
CompassSensorSubscribed = true;
compass.Start(Microsoft.Maui.Devices.Sensors.SensorSpeed.UI);
compass.Start(Microsoft.Maui.Devices.Sensors.SensorSpeed.Game, applyLowPassFilter: true);
}
else if (!shouldMonitor && CompassSensorSubscribed)
{
+2 -2
View File
@@ -29,8 +29,8 @@
<ApplicationId>it.liviomerola.lmemappecatastali.pro</ApplicationId>
<!-- Versions -->
<ApplicationDisplayVersion>1.0.18</ApplicationDisplayVersion>
<ApplicationVersion>118</ApplicationVersion>
<ApplicationDisplayVersion>1.0.25</ApplicationDisplayVersion>
<ApplicationVersion>125</ApplicationVersion>
<Version>$(ApplicationDisplayVersion)</Version>
<!-- To develop, package, and publish an app to the Microsoft Store, see: https://aka.ms/MauiTemplateUnpackaged -->
+3 -1
View File
@@ -22,7 +22,8 @@ public sealed class EntitlementService(
AppFeatures.OfflineMaps,
AppFeatures.AdvancedGeometry,
AppFeatures.GpsTrail,
AppFeatures.FiducialPoints
AppFeatures.FiducialPoints,
AppFeatures.MultipleNotes
};
public bool IsGoogleProActive { get; private set; }
@@ -187,4 +188,5 @@ public static class AppFeatures
public const string AdvancedGeometry = "advanced-geometry";
public const string GpsTrail = "gps-trail";
public const string FiducialPoints = "fiducial-points";
public const string MultipleNotes = "multiple-notes";
}
+149 -1
View File
@@ -906,6 +906,86 @@ input[type="checkbox"] {
padding: 0;
}
.object-table-wrap .object-notes-button {
width: auto;
min-width: 70px;
padding: 4px 8px;
white-space: nowrap;
}
.object-table-wrap tr.object-table-selected td {
background: #fce7f3;
box-shadow: inset 0 1px 0 #f0abfc, inset 0 -1px 0 #f0abfc;
}
.managed-notes-command {
display: grid;
gap: 5px;
}
.managed-notes-command small,
.managed-note-pro-message {
color: var(--muted);
font-size: 11px;
}
.managed-notes-list {
display: grid;
gap: 8px;
}
.managed-note {
padding: 10px;
border: 1px solid var(--line);
border-radius: 6px;
background: #f8fafb;
}
.managed-note > header {
padding: 0 0 7px;
border: 0;
}
.managed-note time {
color: var(--muted);
font-size: 11px;
}
.managed-note p,
.lme-popup-notes p {
margin: 0 0 8px;
white-space: normal;
overflow-wrap: anywhere;
}
.managed-note-actions {
display: flex;
gap: 8px;
}
.managed-note-actions button {
min-height: 34px;
}
.managed-note-editor {
display: grid;
gap: 8px;
margin-top: 12px;
padding-top: 12px;
border-top: 1px solid var(--line);
}
.managed-note-editor label {
display: grid;
gap: 6px;
font-weight: 700;
}
.managed-note-editor textarea {
min-height: 90px;
resize: vertical;
}
.object-table-search,
.coordinate-result {
display: grid;
@@ -1149,6 +1229,12 @@ input[type="checkbox"] {
font-size: 11px;
}
.object-table-legend button {
min-height: 28px;
padding: 4px 9px;
font-size: 11px;
}
.object-table-wrap input[type="checkbox"] {
width: 18px;
height: 18px;
@@ -1196,6 +1282,69 @@ input[type="checkbox"] {
opacity: 0.72;
}
.lme-geometry-toolbar a.lme-selection-mode-button.is-active {
background: #0f766e;
color: #fff;
box-shadow: inset 0 0 0 2px #99f6e4;
}
.lme-geometry-toolbar a.lme-selection-mode-button.is-multiple {
background: #a21caf;
box-shadow: inset 0 0 0 2px #f5d0fe;
}
.lme-geometry-toolbar {
position: relative;
}
.lme-comparison-actions,
.lme-selection-actions {
position: absolute;
right: calc(100% + 6px);
z-index: 1000;
display: grid;
min-width: 154px;
overflow: hidden;
border: 1px solid #b8c1c8;
border-radius: 4px;
background: #fff;
box-shadow: 0 2px 8px rgb(0 0 0 / 22%);
}
.lme-selection-actions {
min-width: 205px;
}
.lme-geometry-toolbar .lme-comparison-actions a,
.lme-geometry-toolbar .lme-selection-actions a {
display: flex !important;
width: auto !important;
height: 36px !important;
padding: 0 10px;
justify-content: flex-start;
border: 0;
border-bottom: 1px solid #d7dde1;
color: #1f2933;
font-size: 13px !important;
font-weight: 700;
line-height: 1.2;
white-space: nowrap;
}
.lme-geometry-toolbar .lme-comparison-actions a:last-child,
.lme-geometry-toolbar .lme-selection-actions a:last-child {
border-bottom: 0;
}
.lme-geometry-toolbar .lme-comparison-actions a:hover,
.lme-geometry-toolbar .lme-comparison-actions a:focus-visible,
.lme-geometry-toolbar .lme-selection-actions a:hover,
.lme-geometry-toolbar .lme-selection-actions a:focus-visible,
.lme-geometry-toolbar .lme-selection-actions a.is-current {
background: #e8f4f1;
color: #075e54;
}
.leaflet-help {
display: grid;
gap: 14px;
@@ -1745,7 +1894,6 @@ label {
transform-origin: 50% 100%;
border-radius: 4px 4px 1px 1px;
background: #ef4444;
transition: transform 120ms linear;
}
.map-compass-needle::after {
+731 -113
View File
File diff suppressed because it is too large. Load diff