diff --git a/gulpfile.js b/gulpfile.js
index 9d0a29a62..ee6e5dd76 100755
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -122,6 +122,7 @@ const JS = gulp.parallel(() => {
'bootstrap-maxlength/dist/bootstrap-maxlength.js',
'leaflet/dist/leaflet.js',
'leaflet-gesture-handling/dist/leaflet-gesture-handling.min.js',
+ 'ismobilejs/dist/isMobile.min.js'
];
for (const i in vendor) {
diff --git a/modules/anagrafiche/edit.php b/modules/anagrafiche/edit.php
index b95487855..fd4084fcf 100755
--- a/modules/anagrafiche/edit.php
+++ b/modules/anagrafiche/edit.php
@@ -282,16 +282,14 @@ 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 '
@@ -308,7 +306,11 @@ if (sizeof($problemi_anagrafica) > 0) {
function cercaOpenStreetMap() {
const indirizzo = getIndirizzoAnagrafica();
if (indirizzo[0] && indirizzo[1]) {
- window.open("https://www.openstreetmap.org/?mlat=" + indirizzo[0] + "&mlon=" + indirizzo[1] + "#map=12/" + 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]);
+ }
} else {
window.open("https://www.openstreetmap.org/search?query=" + indirizzo[2]);
}
@@ -317,7 +319,12 @@ if (sizeof($problemi_anagrafica) > 0) {
function calcolaPercorso() {
const indirizzo_partenza = getIndirizzoAzienda();
const indirizzo_destinazione = getIndirizzoAnagrafica();
- window.open("https://www.openstreetmap.org/directions?engine=fossgis_osrm_car&route=" + indirizzo_partenza + ";" + indirizzo_destinazione[0] + "," + indirizzo_destinazione[1]);
+
+ if (isMobile.any) {
+ window.open("geo:" + indirizzo_destinazione[0] + "," + indirizzo_destinazione[1] + "?z=16&q=" + indirizzo_destinazione[0] + "," + indirizzo_destinazione[1]);
+ } else {
+ window.open("https://www.openstreetmap.org/directions?engine=fossgis_osrm_car&route=" + indirizzo_partenza + ";" + indirizzo_destinazione[0] + "," + indirizzo_destinazione[1]);
+ }
}
function getIndirizzoAzienda() {
@@ -327,7 +334,11 @@ if (sizeof($problemi_anagrafica) > 0) {
const lat = parseFloat("'.$sede_azienda->lat.'");
const lng = parseFloat("'.$sede_azienda->lng.'");
- return lat + "," + lng;
+ if (lat && lng){
+ return lat + ","+ lng;
+ } else {
+ return "";
+ }
}
function getIndirizzoAnagrafica() {
diff --git a/modules/interventi/edit.php b/modules/interventi/edit.php
index 2030bcf41..6396b1be8 100755
--- a/modules/interventi/edit.php
+++ b/modules/interventi/edit.php
@@ -180,7 +180,6 @@ if (!empty($sede_cliente->gaddress) || (!empty($sede_cliente->lat) && !empty($se
echo '
'.tr('Cerca su Mappa').'
- '.((!empty($sede_cliente->lat)) ? tr(' (GPS)') : '').'
';
}
@@ -198,7 +197,11 @@ echo '
function cercaOpenStreetMap() {
const indirizzo = getIndirizzoAnagrafica();
if (indirizzo[0] && indirizzo[1]) {
- window.open("https://www.openstreetmap.org/?mlat=" + indirizzo[0] + "&mlon=" + indirizzo[1] + "#map=12/" + 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]);
+ }
} else {
window.open("https://www.openstreetmap.org/search?query=" + indirizzo[2]);
}
@@ -207,7 +210,12 @@ echo '
function calcolaPercorso() {
const indirizzo_partenza = getIndirizzoAzienda();
const indirizzo_destinazione = getIndirizzoAnagrafica();
- window.open("https://www.openstreetmap.org/directions?engine=fossgis_osrm_car&route=" + indirizzo_partenza + ";" + indirizzo_destinazione[0] + "," + indirizzo_destinazione[1]);
+
+ if (isMobile.any) {
+ window.open("geo:" + indirizzo_destinazione[0] + "," + indirizzo_destinazione[1] + "?z=16&q=" + indirizzo_destinazione[0] + "," + indirizzo_destinazione[1]);
+ } else {
+ window.open("https://www.openstreetmap.org/directions?engine=fossgis_osrm_car&route=" + indirizzo_partenza + ";" + indirizzo_destinazione[0] + "," + indirizzo_destinazione[1]);
+ }
}
function getIndirizzoAzienda() {
@@ -217,7 +225,11 @@ echo '
const lat = parseFloat("'.$sede_azienda->lat.'");
const lng = parseFloat("'.$sede_azienda->lng.'");
- return lat + "," + lng;
+ if (lat && lng){
+ return lat + ","+ lng;
+ } else {
+ return "";
+ }
}
function getIndirizzoAnagrafica() {
diff --git a/package.json b/package.json
index f6191fe9d..0ba49217d 100755
--- a/package.json
+++ b/package.json
@@ -26,6 +26,7 @@
"hotkeys-js": "^3.8.5",
"html5sortable": "^0.13.2",
"inputmask": "^3.3.9",
+ "ismobilejs": "^1.1.1",
"jquery": "^3.5.1",
"jquery-form": "^4.2.1",
"jquery-ui-touch-punch": "^0.2.3",