• User Attivo

    Google maps... ricavare le coordinate da un indirizzo..

    Ciao a tutti :ciauz:

    ho un problema e davvero per adesso nessuno ha saputo aiutarmi...

    sto realizzando un portale per ristoranti, quando un utente selezionerà "roma", vorrei fare in modo che sulla pagina del sito, si caricasse la google maps centrata su Roma e con tutti makers dei locali registrati (utilizzo un db mysql che contiene tutti gli indirizzi inseriti)

    Mi piacerebbe fare in modo che quando un ristorante si iscrive, venissero calcolate longitudine e latidudine del locale per memorizzarle sul db...

    mi sapete aiutare? 😢


  • Bannato User Attivo

    si, c'è una funziona js della api di GMaps che traduce gli indirizzi in coordinate, una volta ricavate le coordinate puoi salvartele sul db.

    geocoder.getLatLng(address,
                        function(point)
                        {
                            if (!point) {
                                // Indirizzo non trovato!
                                alert(address + " non trovato!");
                            } else{
                                // Indirizzo trovato, centra la mappa sul punto
                                map.setCenter(point, 16);
                                //qui puoi salvare le coordinate sul db tramite ajax
    
                                // Crea il marker
                                map.addOverlay(createMarker(point, address));
                            }
                        });
    

    puoi anche evitare di salvarle sul db e fare la traduzione degli indirizzi quando crei la mappa, ma se hai 100 locali su Roma la vedo dura come soluzione.


  • User Attivo

    @saro78 said:

    si, c'è una funziona js della api di GMaps che traduce gli indirizzi in coordinate, una volta ricavate le coordinate puoi salvartele sul db.

    >geocoder.getLatLng(address,
                        function(point)
                        {
                            if (!point) {
                                // Indirizzo non trovato!
                                alert(address + " non trovato!");
                            } else{
                                // Indirizzo trovato, centra la mappa sul punto
                                map.setCenter(point, 16);
                                //qui puoi salvare le coordinate sul db tramite ajax
     
                                // Crea il marker
                                map.addOverlay(createMarker(point, address));
                            }
                        });
    >```
     
    puoi anche evitare di salvarle sul db e fare la traduzione degli indirizzi quando crei la mappa, ma se hai 100 locali su Roma la vedo dura come soluzione.
     
    ciao, grazie per la risposta :)
     
    la funzione che mi segnali, funziona quando si ha un solo maker (quindi un solo indirizzo da mostrare)
     
    i tutorial che ho trovato, per visualizzare mappe con molti makers, utilizzano sempre le coordinate nella funzione...
     
    :bho:

  • Bannato User Attivo

    la funzione funziona come una funzione 🙂 la puoi chiamare infinite volte e aggiungere infiniti marker (a meno di chiari problemi di prestazione).


  • User Attivo

    @saro78 said:

    la funzione funziona come una funzione 🙂 la puoi chiamare infinite volte e aggiungere infiniti marker (a meno di chiari problemi di prestazione).

    tu dici che se inserisco la funzione all'interno del ciclo che estrae tutti i risultati... vengono inseriti tanti maker? :bho:


  • Bannato User Attivo

    smanetta smanetta, io dico e ti assicuro che va, di certo non posso scriverti io il codice ma se ti dico che funziona almeno sei sicuro che non stai perdendo tempo.


  • User

    Ho uno stranissimo problema con la stessa funzione
    [PHP]
    function showAddress(address){
    var valore;
    valore = geocoder.getLatLng(address,
    function(point){
    if (!point) {
    return 0;
    } else {
    // alert( 'Latitudine = ' + point.lat() + ' Longitudine = ' + point.lng() );
    return 1;
    }
    });
    return valore;
    }
    [/PHP]

    Il problema sapete qual'è?
    Che la funzione showaddress non ritorna nulla!!! :gtsad:
    Questa funzione mi serve per veder se l'indirizzo inserito sia corretto o meno.
    Attendo risposte.
    Grazie in anticipo.