Il codice che segue permette di creare una mappa visualizzando una lista di marker partendo da indirizzi. Il problema più grande, in caso di mancanza di latitudine e longitudine, è il fatto che le API di Google Maps impongono un timeout alle chiamate. Per ovviare ho scritto una funzione che reitera la lista degli indirizzi fino a quando tutte le richieste non sono state soddisfatte.
In più il codice seguente è valido anche per mappe “responsive” dato che, al resize, viene riposizionato il centro della mappa sulle coordinate relative. Il codice è abbastanza chiaro e contiene commenti abbastanza esaustivi. Ho fatto anche una versione con le stesse funzionalità ma basata sul plugin GMap3 [1]. La pubblicherò in seguito.
La demo è su questa pagina [2] mentre il download è disponibile a questo link [3].
Ecco il codice completo:
googlemaps geocode address con timeout - js puro
soluzione javascript puro