In questo articolo vedremo come inserire una mappa personalizzata allโinterno del nostro sito. Piรน precisamente vedremo come integrare una mappa di Google allโinterno del codice HTML di una comune pagina web.
I siti web che necessitano dellโintegrazione di una mappa personalizzata sono oggigiorno tantissimi: basti pensare al sito di una qualsiasi azienda o attivitร locale per capire immediatamente qualโรจ la portata di questo tipo di servizio e quanto puรฒ essere importante essere in grado di integrare, correttamente, una mappa dinamica allโinterno di un sito web.
Come giร detto, per raggiungere il nostro scopo, usufruiremo del servizio Google Maps che, oltre ad essere il piรน conosciuto ed utilizzato sistema di questo tipo, offre un metodo facile ed immediato per effettuare lโoperazione di incorporazione di una mappa allโinterno di una qualsiavoglia pagina web.
Ottenere la mappa
Per prima cosa, quindi, rechiamoci sul sito Google Maps allโindirizzo maps.google.it ed effettuiamo la ricerca di nostro interesse. Ai fini del nostro esempio andremo a localizzare sulla mappa un ipotetico negozio situato in piazza Duomo n.1 a Milano.

Una volta identificato il lugo di nostro interesse non dovremo fare altro che cliccare sul pulsante "Condividi"

nella finestra a comparsa, selezionare la voce Incorpora Mappa:
Il codice che ci viene fornito รจ quello di un comune <iframe" che possiamo personalizzare nelle dimensioni agendo sul pulsante di selezione situato sulla nostra sinistra: cosรฌ facendo ci verranno mostrate diverse opzioni relativamente alla dimensione della mappa (piccola, media, grande oppure dimensione personalizzata). Cliccando sullโopzione "Dimensione personalizzata" potremo impostare a piacimento le dimensioni (in pixel) della mappa che andremo ad integrare sul nostro sito web.
Integrare la mappa nella pagina web
Una volta ottenuto il codice HTML della mappa non dovremo fare altro che copiarlo ed incollarlo nel punto della nostra pagina web in cui desideriamo appaia la cartina dinamica.
Solitamente la mappa viene integrata in pagine ad hoc del sito come, ad esempio, la pagina "Contatti" o la pagina "Dove siamo". Apriamo, quindi, la pagina web in cui desideriamo integrare la mappa di Google utilizzando il nostro editor HTML preferito (oppure con un semplice editor di testo come Notepad++ o il Blocco Note di Windows) e incolliamo il codice nel punto in cui vogliamo compaia la mappa.
Trattandosi di un iframe รจ opportuno verificare attentamente che le dimensioni impostate per la mappa siano compatibili con gli ingombri previsti in fase di web-design della pagina: se, ad esempio, abbiamo previsto che lโelemento contenitore della mappa (un DIV o la cella di una tabella) abbia una larghezza di 500 pixel, dovremo accertarci che lโiframe di Google non ecceda questa dimensione, in caso contrario il risultato โ da un punto di vista grafico โ potrebbe essere tuttโaltro che impeccabile.
Google mapsโฆ Responsive!
Un grosso limite dellโutilizzo del tag <iframe> consiste nella rigiditร delle sue dimensioni, cosa che rende questo markup nativamente poco adatto a siti web dalle dimensioni fluide come, ad esempio, i siti realizzati con la tecnica del responsive design.
Al fine di integrare le mappe di Google allโinterno di un sito responsive si puรฒ optare per il ricorso alle Google Maps API (o a diversi script su queste basati), tuttavia questa scelta รจ sconsigliata per chi รจ alle prime armi e non ha basi di programmazione nellโambito del web publishing.
Il ricorso allโiframe, anche in questo contesto, resta pertanto la scelta migliore dal punto di vista della semplicitร e dellโimmediatezza. Vediamo quindi, grazie ad un piccolo trucco, come adattare lโiframe di Google Maps ad un layout fluido (privo cioรจ di dimensioni fisse e preimpostate).
Vediamo di seguito il markup HTML da utilizzare in fase di integrazione della nostra mappa personalizzata:
<div class="google-maps">
<iframe src="https://www.google.com/maps/embed?........." frameborder="0" style="border:0" allowfullscreen></iframe>
</div>
Come potete vedere, abbiamo incapsulato lโiframe copiato sul sito Google Maps allโinterno di un DIV cui abbiamo assegnato la classe "google-maps". Abbiamo altresรฌ rimosso gli attributi width e height dal tag iframe in quanto incompatibili col tipo di layout del nostro sito.
A questo punto non ci resta che integrare questo codice CSS allโinterno del nostro foglio di stile:
.google-maps {
position: relative;
padding-bottom: 75%; /* Definisco l'aspect ratio */
height: 0;
overflow: hidden;
}
.google-maps > iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}
A questo punto il tag iframe della mappa si adatterร automaticamente allo spazio disponibile mantenendo sempre un rapporto 4:3 tra larghezza e altezza cosรฌ come definito attraverso lโuso del padding-bottom.
Utilizzare GMap.js
GMaps.js รจ una soluzione semplice, libera (rilasciata sotto licenza Open Source) e gratuita per interagire in modo rapido e semplice con la API (Application Programming Interface) messe a disposizione da Mountain View per lโinterazione con le proprie mappe.
Si tratta di una libreria realizzata in JavaScript che viene fornita come estensione del noto framework Ajax jQuery.
Utilizzare GMaps.js รจ estremamente semplice: per prima cosa รจ necessario includere nella pagina la libreria jQuery, il Javascript relativo alle API di Google Maps e il file della libreria, in questo modo:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?key=TUA_CHIAVE_API&callback=initMap"></script>
<script type="text/javascript" src="gmaps.js"></script>
Fatto questo lโutilizzatore dovrร definire lโID del container e le coordinate di longitudine e latitudine della mappa che si desidera visualizzare, come nellโesempio seguente:
new GMaps({
div: '#map',
lat: -12.043333,
lng: -77.028333
});
Lo sviluppatore avrร inoltre la possibilitร di definire i parametri relativi allo zoom (che come impostazione predefinita รจ "15"), alla larghezza e allโaltezza, inoltre, รจ bene tenere conto del fatto che le dimensioni stabilite allโinterno di un foglio di stile consentiranno lโoverride dei valori contenuti nel selettore.
Per arricchire le mappe incluse sarร infine possibile aggiungere eventuali markers, rilavare il posizionamento di un utente tramite le funzionalitร per la geolocalizzazione di HTML5, definire specifici percorsi e impostare eventi personalizzati.
Conclusioni
Lโutilizzo delle Google Maps allโinterno di un sito web รจ una prassi estremamente diffusa ed offre risultati soddisfacenti in ogni contesto ed ambito di utilizzo. Anche senza ricorrere alle API, infatti, รจ possibile ottenere risultati impeccabili per le esigenze piรน comuni.