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);
}
}