Aggiunta gestione apertura mappe con applicazione dispositivo mobile

This commit is contained in:
loviuz 2023-10-13 10:41:31 +02:00
parent 1f6ea9ef45
commit 4c66be78a4
4 changed files with 35 additions and 10 deletions

View File

@ -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) {

View File

@ -282,16 +282,14 @@ if (sizeof($problemi_anagrafica) > 0) {
// Navigazione diretta verso l'indirizzo
echo '
<a class="btn btn-info btn-block '.(($anagrafica->isAzienda() || (empty($sede_cliente->lat) || empty($sede_cliente->lng)) || (empty($sede_azienda->lat) || empty($sede_azienda->lng))) ? 'disabled' : '').'" onclick="calcolaPercorso()">
<a class="btn btn-info btn-block '.(($anagrafica->isAzienda() || (empty($sede_cliente->lat) || empty($sede_cliente->lng))) ? 'disabled' : '').'" onclick="calcolaPercorso()">
<i class="fa fa-map-signs"></i> '.tr('Calcola percorso').'
'.((!empty($sede_cliente->lat) && !empty($sede_azienda->lat)) ? tr('(GPS)') : '').'
</a>';
// Ricerca diretta su Mappa
echo '
<a class="btn btn-info btn-block" onclick="cercaOpenStreetMap()">
<i class="fa fa-map-marker"></i> '.tr('Cerca su Mappa').'
'.((!empty($sede_cliente->lat)) ? tr(' (GPS)') : '').'
</a>';
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() {

View File

@ -180,7 +180,6 @@ if (!empty($sede_cliente->gaddress) || (!empty($sede_cliente->lat) && !empty($se
echo '
<a class="btn btn-info btn-block" onclick="cercaOpenStreetMap()">
<i class="fa fa-map-marker"></i> '.tr('Cerca su Mappa').'
'.((!empty($sede_cliente->lat)) ? tr(' (GPS)') : '').'
</a>';
}
@ -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() {

View File

@ -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",