• User

    [Script]Trovare Lat e Lng (geocoder con GMAPS)

    Visto che ho letto che un po di persone lo chiedevano:

    Ho fatto questo semplice script che utilizzando le api di GMAPS trova latitudine e longitudine di un indirizzo da noi inserito e le visualizza a schermo in una infowindows posta sopra quelle stesse coordinate...

    Incollo il codice qua sotto:

    Ovviamente al posto della scritta "INSERISCI LA TU API KEY" dovrete inserire la vostra key api...

    A e al posto di 'XXXX' scrivete 'http'

    Basta copiare questo codice in una pagina .html e funziona...

    
    <HTML>
    
        <head>
    
            <title>Geocoder By KhalHell</title>
            <script src="XXXX://maps.google.com/maps?file=api&amp;v=2&amp;key=INSERISCI LA TU API KEY" type="text/javascript"></script>    
    
        </head>
        
        <body onload="carica()" onunload="GUncarica()">
        
    <script>        
        function carica() 
        {
            if (GBrowserIsCompatible()) 
              {
                mappa = new GMap2(document.getElementById("mappa"));
                geocoder = new GClientGeocoder();
                mappa.addControl(new GMapTypeControl());
                mappa.addControl(new GLargeMapControl());
                var coordinate;
                var indiniz = "Andalo, TN";
                
                geocoder.getLatLng(indiniz, function(coordinate) {
                    
                    mappa.setCenter(coordinate, 15);
                    var marker = new GMarker(coordinate);
                    mappa.addOverlay(marker);
                    var lat = marker.getLatLng().lat();
                    var lon = marker.getLatLng().lng();    
                    marker.openInfoWindowHtml('<br>Indirizzo richiesto: '+indiniz+' <br><br> Coordinate: ['+lat+','+lon+']<p>');
                });
              }
        }
    
        function decodifica(indirizzo) 
        {
            geocoder.getLatLng(indirizzo,
            function(coordinate) 
            {
                if (!coordinate) 
                {
                    alert(indirizzo+" non trovato!");
                } 
                else 
                {
                    mappa.setCenter(coordinate, 15);
                    var marker = new GMarker(coordinate);
                    mappa.addOverlay(marker);
                    var lat = marker.getLatLng().lat();
                    var lon = marker.getLatLng().lng();                
                    marker.openInfoWindowHtml('<br>Indirizzo richiesto: '+indirizzo+' <br><br> Coordinate: ['+lat+','+lon+']<p>');                
                }    
            });
        }        
    </script>
    
            <center>
            
            <form id="geocoder" action="#" onsubmit="decodifica(document.getElementById('geocoder').indirizzo.value);return false">
                <div id="modulo">
                <strong>Indirizzo:</strong><br />
                <input id="indirizzo" type="text" />
                <input name="cerca" type="submit" value="Cerca Coordinate" />
                </div>
            </form>
            
            <div id="mappa" style="width: 800px; height: 600px"></div>
            </center>
        
        </body>
        
    </HTML>
    
    ```Non ho avuto il tempo di commentare il codice, in caso di dubbi chiedete pure...

  • User Attivo

    Attenzione però non tutti gli indirizzi sono mappati

    Google non riesce ad indentificare tutti gli indirizzi, si creno nuove strade, nuovi numeri ecc...

    Mentre la latidutine e la longitudine sono uniche