From 9a29164d48701e2ce1d07de939dcc45073b2eef7 Mon Sep 17 00:00:00 2001 From: loviuz Date: Fri, 13 Oct 2023 14:57:59 +0200 Subject: [PATCH] Miglioramento pulsanti mappa --- modules/anagrafiche/edit.php | 32 +++++++++++++++++--------------- modules/interventi/edit.php | 22 +++++++++++++--------- 2 files changed, 30 insertions(+), 24 deletions(-) diff --git a/modules/anagrafiche/edit.php b/modules/anagrafiche/edit.php index fd4084fcf..1ee219c48 100755 --- a/modules/anagrafiche/edit.php +++ b/modules/anagrafiche/edit.php @@ -282,14 +282,16 @@ if (sizeof($problemi_anagrafica) > 0) { // Navigazione diretta verso l'indirizzo echo ' - + '.tr('Calcola percorso').' + '.((!empty($sede_cliente->lat) && !empty($sede_azienda->lat)) ? tr('(GPS)') : '').' '; // Ricerca diretta su Mappa echo ' '.tr('Cerca su Mappa').' + '.((!empty($sede_cliente->lat)) ? tr(' (GPS)') : '').' '; echo ' @@ -305,14 +307,16 @@ if (sizeof($problemi_anagrafica) > 0) { function cercaOpenStreetMap() { const indirizzo = getIndirizzoAnagrafica(); - if (indirizzo[0] && indirizzo[1]) { - if (isMobile.any) { - window.open("geo:" + indirizzo[0] + "," + indirizzo[1] + "?z=16&q=" + indirizzo[0] + "," + indirizzo[1]); - } else { - window.open("https://www.openstreetmap.org/?mlat=" + indirizzo[0] + "&mlon=" + indirizzo[1] + "#map=12/" + indirizzo[0] + "/" + indirizzo[1]); - } + + const destinazione = (!isNaN(indirizzo[0]) && !isNaN(indirizzo[1])) ? indirizzo[0] + ","+ indirizzo[1] : indirizzo[2]; + if (isMobile.any) { + window.open("geo:" + destinazione + "?z=16&q=" + destinazione); } else { - window.open("https://www.openstreetmap.org/search?query=" + indirizzo[2]); + if (!isNaN(indirizzo[0]) && !isNaN(indirizzo[1])) { + window.open("https://www.openstreetmap.org/?mlat=" + indirizzo[0] + "&mlon=" + indirizzo[1] + "#map=12/" + destinazione + "/" + indirizzo[1]); + } else { + window.open("https://www.openstreetmap.org/search?query=" + indirizzo[2] + "#map=12"); + } } } @@ -320,10 +324,12 @@ if (sizeof($problemi_anagrafica) > 0) { const indirizzo_partenza = getIndirizzoAzienda(); const indirizzo_destinazione = getIndirizzoAnagrafica(); + const destinazione = (!isNaN(indirizzo_destinazione[0]) && !isNaN(indirizzo_destinazione[1])) ? indirizzo_destinazione[0] + ","+ indirizzo_destinazione[1] : indirizzo_destinazione[2]; + if (isMobile.any) { - window.open("geo:" + indirizzo_destinazione[0] + "," + indirizzo_destinazione[1] + "?z=16&q=" + indirizzo_destinazione[0] + "," + indirizzo_destinazione[1]); + window.open("geo:" + destinazione + "?z=16&q=" + destinazione); } else { - window.open("https://www.openstreetmap.org/directions?engine=fossgis_osrm_car&route=" + indirizzo_partenza + ";" + indirizzo_destinazione[0] + "," + indirizzo_destinazione[1]); + window.open("https://www.openstreetmap.org/directions?engine=fossgis_osrm_car&route=" + indirizzo_partenza + ";" + destinazione); } } @@ -334,11 +340,7 @@ if (sizeof($problemi_anagrafica) > 0) { const lat = parseFloat("'.$sede_azienda->lat.'"); const lng = parseFloat("'.$sede_azienda->lng.'"); - if (lat && lng){ - return lat + ","+ lng; - } else { - return ""; - } + return lat + "," + lng; } function getIndirizzoAnagrafica() { diff --git a/modules/interventi/edit.php b/modules/interventi/edit.php index 6396b1be8..c81ce4025 100755 --- a/modules/interventi/edit.php +++ b/modules/interventi/edit.php @@ -196,14 +196,16 @@ echo ' function cercaOpenStreetMap() { const indirizzo = getIndirizzoAnagrafica(); - if (indirizzo[0] && indirizzo[1]) { - if (isMobile.any) { - window.open("geo:" + indirizzo[0] + "," + indirizzo[1] + "?z=16&q=" + indirizzo[0] + "," + indirizzo[1]); - } else { - window.open("https://www.openstreetmap.org/?mlat=" + indirizzo[0] + "&mlon=" + indirizzo[1] + "#map=12/" + indirizzo[0] + "/" + indirizzo[1]); - } + + const destinazione = (!isNaN(indirizzo[0]) && !isNaN(indirizzo[1])) ? indirizzo[0] + ","+ indirizzo[1] : indirizzo[2]; + if (isMobile.any) { + window.open("geo:" + destinazione + "?z=16&q=" + destinazione); } else { - window.open("https://www.openstreetmap.org/search?query=" + indirizzo[2]); + if (!isNaN(indirizzo[0]) && !isNaN(indirizzo[1])) { + window.open("https://www.openstreetmap.org/?mlat=" + indirizzo[0] + "&mlon=" + indirizzo[1] + "#map=12/" + destinazione + "/" + indirizzo[1]); + } else { + window.open("https://www.openstreetmap.org/search?query=" + indirizzo[2] + "#map=12"); + } } } @@ -211,10 +213,12 @@ echo ' const indirizzo_partenza = getIndirizzoAzienda(); const indirizzo_destinazione = getIndirizzoAnagrafica(); + const destinazione = (!isNaN(indirizzo_destinazione[0]) && !isNaN(indirizzo_destinazione[1])) ? indirizzo_destinazione[0] + ","+ indirizzo_destinazione[1] : indirizzo_destinazione[2]; + if (isMobile.any) { - window.open("geo:" + indirizzo_destinazione[0] + "," + indirizzo_destinazione[1] + "?z=16&q=" + indirizzo_destinazione[0] + "," + indirizzo_destinazione[1]); + window.open("geo:" + destinazione + "?z=16&q=" + destinazione); } else { - window.open("https://www.openstreetmap.org/directions?engine=fossgis_osrm_car&route=" + indirizzo_partenza + ";" + indirizzo_destinazione[0] + "," + indirizzo_destinazione[1]); + window.open("https://www.openstreetmap.org/directions?engine=fossgis_osrm_car&route=" + indirizzo_partenza + ";" + destinazione); } }