Miglioramento pulsanti mappa

This commit is contained in:
loviuz 2023-10-13 14:57:59 +02:00
parent af7e0b5e34
commit 9a29164d48
2 changed files with 30 additions and 24 deletions

View File

@ -282,14 +282,16 @@ 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))) ? 'disabled' : '').'" onclick="calcolaPercorso()">
<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()">
<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 '
@ -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() {

View File

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