Cerca nel blog

Pubblicità

banner-125x125 banner-125x125 banner-125x125 banner-125x125

Feed RSS e Newsletter

Puoi seguire il mio blog abbonandoti al feed RSS, se non sai cos'è un feed RSS prova a guardare questo video... Spiega tutto!

Icona Feed RSS

Twitter

PayPal

Se ti piace questo blog puoi pensare ad una donazione.

Tutti i fondi ricevuti saranno utilizzati per il mio sollazzo personale. :-)

Ultimi commenti...

Teo: Napolux ha scritto: Però se lo scrivi sul contratto che il cliente firma immagino sia legale Non so quanti...

Napolux: Teo ha scritto: In pratica devi inserire il codice che ti propone nelle pagine web che generi e se non ti...

Teo: In pratica devi inserire il codice che ti propone nelle pagine web che generi e se non ti paga lo blocchi?...

Teo: Occhio gente, secondo me arriva dritta dritta una denuncia ad usarlo… Ma, in pratica, come agisce?? :razz:

Teo: Sbronzo di Riace ha scritto: io dico che bisognerebbe fare un decreto interpretativo sulla questione e già che...

Usare Google Maps – Terza parte

domenica 1 ottobre 2006
1 Star2 Stars3 Stars4 Stars5 Stars (9 voti, media: 4,22)
Loading ... Loading ...

Google Maps

Eccoci qua. Prima di cominciare, a chi non lo avesse ancora fatto, consiglio di leggere le prime due parti di questo tutorial.

Usare Google Maps - Prima parte
Usare Google Maps - Seconda parte

Oggi finalmente vedremo come Il GeoCoder può interagire con un database MySQL attraverso AJAX e PHP.

Grazie al database sarà possibile utilizzare Google Maps inserendo coordinate o indirizzi che verranno riproposti ad ogni futura visita della pagina, quindi, a differenza di quanto accadeva nella seconda parte di questo tutorial, i dati non andranno persi.

La frase precedente è di difficile interpretazione, lo so.

Per prima cosa, dobbiamo munirci di un database e di una tabella, così strutturata:

CREATE TABLE `punti` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`latitudine` float NOT NULL DEFAULT '0',
`longitudine` float NOT NULL DEFAULT '0',
`indirizzo` text NOT NULL,
PRIMARY KEY  (`id`) );

La tabella appena creata conterrà le coordinate dei punti calcolati dal GeoCoder e l'indirizzo che abbiamo appena cercato. E' possibile modificarla, e di conseguenza modificare il modulo di ricerca, per poter contenere testi descrittivi, link ad immagini, ecc... A voi piena libertà di utilizzo.

La pagina funzionerà in questo modo:

  • Cercheremo un indirizzo
  • Se trovato dal GeoCoder ci verrà proposto di salvarlo all'interno del database
  • Attraverso una richiesta AJAX andremo ad inserire il punto cercato nel database grazie ad un semplicissimo file PHP
  • Aggiungeremo un marker alla mappa

Fatto questo, ad ogni visita, una piccola porzione di codice PHP si occuperà di:

  • Fare una query sulla tabella "punti"
  • Stampare il codice Javascript che si occuperà di creare un marker per ogni riga della tabella

Tutto qua. Provate l'esempio, troverete alcuni marker già posizionati. Uno di questi punta su Piazza Venezia a Roma. Potrete inserire marker a vostro piacimento, verranno riproposti ad ogni nuova visita.

IN DETTAGLIO

Vediamo nel dettaglio come funziona un inserimento. Prendendo come base la seconda parte di questo tutorial abbiamo creato una pagina che permette di cercare attraverso il GeoCoder integrato in Google Maps un qualsiasi indirizzo italiano.

Se ricordate bene la funzione prevedeva due possibilità: l'indirizzo non trovato e l'indirizzo trovato. Se l'indirizzo veniva trovato dal GeoCoder veniva aggiunto un marker sulla mappa.

Ora, oltre ad aggiungere un marker effettuiamo anche una chiamata AJAX al file "inserisci.php" di cui non riporto il codice: vi basti sapere che viene effettuata solo una query di inserimento, con 3 parametri (latitudine, longitudine, indirizzo cercato) passati via GET.

La funzione che effettua la chiamata AJAX è un classico: la trovate spiegata egregiamente a questo indirizzo. L'ho solamente rinominata in ajax() e aggiunto un paio di parametri per comodità. Ovviamente potrete usare il vostro framework AJAX preferito, senza alcuna limitazione.

Il codice della funzione showAddress() diventa quindi:

function showAddress(address)
{
geocoder.getLatLng(address,
function(point)
{
if (!point)
{
// Indirizzo non trovato
alert(address + " non trovato!");
}
else
{
// Chiamata ajax per inserimento all'interno del DB se viene confermato...
if(confirm("Vuoi inserire il marker per l'indirizzo:n" + address))
{
// Centra la mappa
map.setCenter(point, 10);
// Crea il marker
map.addOverlay(createMarker(point, address));
// Chiamata AJAX per inserimento
ajax("inserisci.php?lat=" + point.x + "&long=" + point.y + "&indirizzo=" + address,"void");
}
}
});
}

L'inserimento del marker nel database viene fatto senza fare il refresh della pagina grazie ad AJAX. "Void" fa riferimento ad una div nascosta perché la funzione ajax() richiede anche una div che contenga poi i risultati, anche se in questo caso è inutilizzata.

Come al solito non c'é nient'altro da spiegare, il codice si spiega praticamente da solo. Andatevelo a guardare.

LA STAMPA DEI MARKER

Capitolo a parte merita la stampa dei marker ogni volta che viene chiamata la pagina contenente la mappa. Il trucco sta nell'usare PHP per stampare codice JS, estrapolando i dati e creando i punti al volo... Se non mi sono spiegato il codice PHP si farà capire da solo:

// Stampa JS dopo aver effettuato query...
$connection = mysql_connect("TUO SERVER","TUO USERNAME","TUA PASSWORD");
mysql_select_db("TUO DB");
 
$sql = "SELECT DISTINCT * FROM punti";
$result = mysql_query($sql,$connection) or die($sql. " " . mysql_error());
 
// Stampa tutti i punti con pop-up indirizzo.
while($row = mysql_fetch_assoc($result))
{
echo "point = new GLatLng({$row["longitudine"]},{$row["latitudine"]});n";
echo "map.addOverlay(createMarker(point, '".addslashes($row["indirizzo"])."'));n";
}

Come sapete (lo sapete VERO?) il codice PHP viene eseguito dal server prima di inviare la pagina al browser che poi si occuperà di eseguire il codice JavaScript. Quindi fare generare codice JS al PHP è una cosa del tutto lecita e sexy oltre che molto utile.

CONCLUSIONI

Adesso siete pronti per creare il vostro mashup (preciso quanto volete) di Google Maps. Sono contrario alla pappa pronta, quindi il codice che avete visto in queste 3 puntate, seppur funzionante, va integrato, rivisto e possibilmente migliorato.

Rimango comunque a disposizione di chi abbia voglia di approfondire l'argomento Google Maps sia via blog che via MSN o Gtalk.

Buon divertimento e non dimenticate che:

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it can be an aesthetic experience much like composing poetry or music.

Donald Knuth

UPDATE

Luca mi chiede come poter puntare direttamente un indirizzo al caricamento della Mappa... Ecco fatto! Guarda il codice della funzione load()...

Questo articolo è stato pubblicato domenica, 1 ottobre 2006 alle ore 21:25 Se non vuoi perdere nemmeno un articolo del mio blog abbonati al feed RSS. Se non sai cos'è un feed RSS puoi guardare questo video, spiega tutto!

In alternativa puoi abbonarti alla newsletter, riceverai un'email ogni volta che verrà pubblicato un nuovo post. Il tuo indirizzo email sarà gestito da Feedburner.

  

100 Commenti a “Usare Google Maps – Terza parte”

  1. Senamion scrive:

    Interessante la parte di GeoCoding e dell’inserimento su DB usando ajax.
    Sul mio blog tratto alcuni altri aspetti che potrebbero interessare per un’integrazione più spinta all’interno di un sito, in particolare la possibilità di inserire marker diversi e colorati ed anche un piccolo suggerimento per segnalare il load in corso della mappa.

  2. Costantino scrive:

    “Il tutorial sarà disponibile in formato PDF appena concluso, comprenderà tutte le modifiche e i suggerimenti ricevuti.”

    Manterrai la promessa? :(

    Grazie!

  3. Napolux scrive:

    @Costantino
    Certo, sto riorganizzando le idee e aspettando eventuali suggerimenti e/o correzioni…

    Ci sarà un post dedicato. ;)

  4. webnicola scrive:

    Complimenti ho provato subito il tuo tutorial !
    Una domanda:
    in questa stringa // Apre Popup :) map.openInfoWindow(map.getCenter(),
    document.createTextNode(“Roma!”));

    Se al posto di Roma metto un testo più lungo come gli dico di andare a capo?
    ["Roma! /rA capo\r"] non si comporta come document.write. . . ??
    Grazie e buon lavoro

  5. Napolux scrive:

    @webnicola
    Prova con \n o con il tag “br” dell’HTML

  6. webnicola scrive:

    Gia provato non funziona, il lo stampa! :’(

  7. Napolux scrive:

    Prova al posto di createTextNode a creare un marker con pop-up che si apre al click, come quelli messi nell’esempio di questo post. Puoi inserire all’interno un qualcunque tag HTML :)

  8. Senamion scrive:

    @webnicola: se usi openInfoWindowHtml puoi usare codice html e mettere anche immagini, link e tutto quanto!

  9. webnicola scrive:

    @Senamion:
    dici così?: map.openInfoWindowHtml(map.getCenter(),
    document.createTextNode(“Roma! ”A capo “));

    non funziona visualizza il “br”

  10. maurizio scrive:

    ciao, complimenti per i tutorial. Un solo dubbio: la funzione ajax che utilizzi è istanziata da google map o da qualche libreria esterna (tipo moo.ajax, ecc)???

  11. Napolux scrive:

    @maurizio
    Nessuna delle 2. E’ puro e semplice JavaScript. Per maggiori dettagli:
    http://www.kottke.org/05/05/ajax-weblogs

  12. webnicola scrive:

    @Napolux:
    Rete ho risolto come avevi detto tu cioè creando un marker linkabile +marker.openInfoWindowHtml(description); ___
    O meglio inserendo questa porzione:

    // Crea un nuovo marker nel punto specificato
    function createMarker(point, description) {
    var marker = new GMarker(point);
    GEvent.addListener(marker, “click”, function()

    // con una descrizione HTML associata

    {
    marker.openInfoWindowHtml(description);
    });
    return marker;
    }

    map.addOverlay(createMarker(new GLatLng(41.90,12.49), “RomaItalia”));

    Funziona grazie!

  13. webnicola scrive:

    Ho risolto come diceva Napolux, cioè creando un marker con pop-up!
    Grazie

  14. luca scrive:

    ciao!
    complimenti x il tutorial!
    volevo sapere come potevo creare una mappa che al caricamento della pagina mostrasse subito il punto preciso che voglio visualizzare (indirizzo) e non solo latitudine e longitudine……..
    grazie

  15. Napolux scrive:

    @luca
    Ciao, nella funzione load() chiamata nel tag body fai una chiamata a show_address() passando come parametro l’indirizzo su cui vuoi centrare la mappa ;)

  16. luca scrive:

    @napolux

    ho provato ma nn riesco a visualizzare l’indirizzo………
    saresti cosi gentile a postare il codice con un indirizzo a caso in modo che possa provare a sostituirlo col mio……..
    grazie mille

  17. Napolux scrive:

    Guarda, oggi proprio non ho tempo. Appena mi libero un attimo faccio un’aggiunta… Promesso ;)

  18. Leonardo scrive:

    prima di tutto complimenti veramente molto utile

    domanda
    con google maps posso creare dei percorsi
    P.s
    parto da via, numero, citta
    vado a via, numero, citta
    in modo che lui mi faccia vedere il perorso che devo fare
    e magari anche la distanza in chilometrika
    grazie

  19. Napolux scrive:

    @Leonardo
    Non è possibile calcolare percorsi con le API pubbliche. Puoi calcolarli solo su http://mappe.google.it

  20. Leonardo scrive:

    qualchuno sa indicarmi un sito che offre un servizio di mappa con il calcolo dei percorsi ecc.
    possibilmente gratuito o ad un costo basso
    magari qual’che proggetto open source ho cercato su google ma non ho trovato niente

    thix

  21. Mauro scrive:

    http://www.q-map.com hanno anche il calcolo di percorso ma non è sul sito.

  22. Napolux scrive:

    @Mauro
    Quindi?

  23. carlo scrive:

    ho letto come suggerito anche le altre 2 parti del tutorial purtroppo non vi ho capito granch’è…in quanto si parte sempre dal presupposto di inserire un indirizzo in un form per arrivare alla mappa…(inoltre si fà riferimento a php e mysql..!!!??)
    io ho il problema di avere già la mappa ed il pop up posizionati nel punto prestabilito ma non mi è chiaro come inserire del semplice testo all’interno del pop up

    grazie Carlo

    ps non sono un programmatore…scusatemi!!

  24. Napolux scrive:

    Se hai un punto, leggi qui: opening an info Window

    Praticamente si tratta di usare la funzione map.openInfoWindow(), con la sintassi che dice la documentazione. Non posso aiutarti in altro modo se non vedo il tuo codice ;)

  25. carlo scrive:

    Grazie Napolux…
    io vorrei inserire l’indirizzo con una formattazione del genere
    Nome negozio
    P.za S.Alessadro, 2
    20100 Milano
    telefono: 00.000.0000

    ti invio la parte di codice…..

    [MAI INSERIRE CODICE NEI COMMENTI]

  26. Napolux scrive:

    Guarda qui: basta usare l’HTML per formattare il testo.

  27. loly scrive:

    salve,
    qualcuno sa se esiste qualche funzione che dati due indirizzi restituisce la distanza ??

    bye

  28. Napolux scrive:

    @loly
    Purtroppo non è possibile ad oggi calcolare percorsi e/o distanze.

    Sperando che Google ce lo lasci fare presto. ;)

  29. Alessandro scrive:

    @maurizio
    Nessuna delle 2. E’ puro e semplice JavaScript. Per maggiori dettagli:
    http://www.kottke.org/05/05/ajax-weblogs

    io ho cercato in questo link ma non trovo il javascript che richiama il file di inserimento in php.

    sono stordito? o potrebbe essere che il link è cambiato?

    ciao e complimenti per il tutorial davvero unico.

  30. Napolux scrive:

    Il link è quello, necessita di un po’ di studio, non è proprio immediato… ;)

  31. Piero Gemello scrive:

    point.x e point.y sono invertiti.
    point.x corrisponde alla longitudine;
    point.y corrisponde alla latitudine.

    Per il resto complimentissimi.

    La distanza tra 2 punti si può calcolare.
    Get directions senza aprrire Google al momento resta un’utopia.

    http://www.econym.demon.co.uk/googlemaps/

  32. Francesco scrive:

    Complimenti per la guida, già utilizzata ed ottimizzata con qualche modifica.

    Volevo porre un quesito, se nel form volessi passargli un campo di tipo testo da inserire successivamente nel Database quale sarebbero le modifiche da apportare nel submit della form showAddress(document.getElementById….
    e nella function showAddress(address)?

    Ho provato a fare delle modifiche ma non gli passa il campo alla pagina inserisci.php

  33. Napolux scrive:

    @Francesco
    Devi modificare la chiamata della funzione ajax() aggiungendo un parametro GET che contenga il tuo campo del modulo…

  34. Francesco scrive:

    Ok, ma nn devo modificare anche questo

  35. Francesco scrive:

    [MAI POSTARE CODICE NEI COMMENTI]

    Scusa, ma non si capiva molto ;)

  36. Napolux scrive:

    No, basta modificare il JS… Il valore da passare te lo vai a pescare tu…

  37. Francesco scrive:

    Ok, scusa ma come faccio a modificare la chiamata della funzione ajax() aggiungendo un parametro GET che contenga il tuo campo del modulo?

  38. Francesco scrive:

    Ok, problema piu o meno risolto, in linea generale ti ho chiesto aiuto perchè ho un db già esistente con indirizzo, città e provincia, e volevo sapere se mi conveniva:
    - fare uno script che a seconda dell’indirizzo elabora longitutine e latitudine e le inserisce nel db
    - dagli solo gli indirizzi e il file map.php genera lui ogni volta la latitudine e longitudine
    - aggiungere manualmente a db le latitudini e longitudini per ogni record

  39. Napolux scrive:

    Direi la 4a. :mrgreen:

    Ovvero: aggiungere i campi latitudine e longitudine alla tabella che già hai, fare uno script che vada ad inserire in questi due campi lat. e long. calcolandoli dall’indirizzo che già hai.

  40. Francesco scrive:

    Per la parte di php è per la parte di java e per creare una funzione che per ogni indirizzo presente in una tabella mi crei latitutide e longitudine e me le inserisca in un altra tabelle con un id che dovrei passargli io mi crea problemi da piu di una settimana!!!

    HELP!

  41. Napolux scrive:

    @Francesco
    Spiega meglio.

  42. Francesco scrive:

    Allora io ho una tabella contatti dove ho gli indirizzi e ho creato una tabella cordinate dove inseriro la longitudine e la latitudine.
    Ora con una SELECT LEFT JOIN trovo, senza problemi, i record i quali non hanno longitudine e latitudine nella tabella cordinate.

    Ora il mio problema è integrare la funzione ShowAddress in maniera tale che su gli indirizzi che non no ancora latitudine e longitudine me li crea e gli inserisca, oltre anche all’IdContatto, nella tabella mappe.

    Ora la parte di SELECT e INSERT in php nn è un problema, non riesco ad adattare la funzione showAddres per fare quanto appena descritto.

  43. Napolux scrive:

    Devi mettere i risultati del geocoding via AJAX dentro il DB.

  44. alfredo scrive:

    ciao
    volevo chiederti se in qualke modo era possibile risalire all’indirizzo partendo dalle cordinate di latitudine e longitudine.
    grazie

  45. Napolux scrive:

    Bella domanda. Qualcosa c’è, ma purtroppo in italiano c’è davvero poco.

    Link

  46. Fabio scrive:

    Ottimo..ma ho visto in qualche sito un opzione interessante. Nella demo ad esempio ci sono zone con molti elementi trovati, creando confusione nella mappa. e quindi x zone limitrofe invece che il egnaposto c’è il numero degli elementi trovati. zoomando si visualizzano i segnalibri.
    tipo: http://www.maiom.com/mappa

    ne sai qualcosa? c’è un metodo particolare?

  47. Francesco scrive:

    Interessante!! Io ho trovato anche questo http://www.solmetra.com/en/disp.php/en_products/en_scripts/en_maps
    “SOLMETRA Maps is a PHP class meant to simplify display of Google Maps on your site.”

  48. Strainer scrive:

    Ottimo il tutorial ma non riesco ad aggiungere nuovi marker !!!

    Se puoi rispondere a qualche domanda :

    1- La Select la devo inserire nella pagina della mappa tra gli apici in php fuori il codice Java ?

    2- L’ Insert sintatticamente non è un problema ma quali sono le variabili passate per GET ???? nel caso mi puoi postare il file inserisci.php…grazie

    Il mio problema è che inserisco l’indirizzo mi da il nuovo marker ma se ricarico la pagina non mi visualizza più il marker inserito…non mi resta in memoria…cioè nella lista della stampa non mi aggiunge il nuovo punto e nel db mi da i valori lat 0 , long 0, ind ‘vuoto’

    Ciao

  49. Napolux scrive:

    Si vede che non riesci a contattare il geocoder…

    Inserisci.php fa una semplice query. Niente di + e niente di – ;)

  50. Strainer scrive:

    // Chiamata AJAX per inserimento
    ajax(“inserisci.php?lat=” + point.x + “&long=” + point.y + “&indirizzo=” + address,”void”);

    questa è la chiamata alla pagina inserisci.php, quali sono le variabili che devo inserire nel db ?

  51. Napolux scrive:

    inserisci.php fa una query. Devi solo creare una tabella come quella scritta nel post e farci una query con i dati che gli arrivano via GET.

  52. Strainer scrive:

    grazie gentilissimo…ma la select dove la devo inserire, cioè la stampa deve essere inserita all’interno del odice java??

  53. Napolux scrive:

    YES. All’interno del JS chiami il PHP che stampa il codice JS che crea i marker

  54. Strainer scrive:

    while($row = mysql_fetch_assoc($result))
    {
    echo “point = new GLatLng({$row["longitudine"]},{$row["latitudine"]});n”;
    echo “map.addOverlay(createMarker(point, ‘”.addslashes($row["indirizzo"]).”’));n”;
    }

    questa è la stampa dei marker nel db, che apici devo mettere all’interno del codice java ??
    se metto non mi carica proprio la mappa ma non mi da errore
    è l’ultimo aiuto grazie

  55. Napolux scrive:

    La stampa è uguale a quella che c’è nel post. :)

  56. Strainer scrive:

    non mi funziona…cmq va bene così li inserisco manualmente ed è lo stesso per il mio scopo !!

    ti ringrazio

  57. Thomas scrive:

    Ciao,
    devo dire che è davvero un’ottima guida quella che hai fatto, mi è piaciuta molto. :)
    Volevo chiederti (e anche a chiunque legga questo commento) se sai come creare un GeoCoder su Excel, cioè…inserisci l’indirizzo e lui ti tira fuori latitudie e longitudine di quell’indirizzo. In rete ne ho trovati 3 di questi Geocoder, ma tutti e 3 usano come gocoder quello di Yahoo oppure quello di Geocoder.us, che purtroppo non funzionano con indirzitti italiani. Ti spiego meglio…se tu inserisci solo città e stato ti tira fuori i 2 dati, ma quando inserisci l’indirizzo ti dice not foud. Da quanto sono riuscito a capirci su sta cosa, tutto fa capo ad una bella macro…purtroppo però io nn conosco quel linguaggio di programmazione. La mia idea sarebbe questa, riuscire a modificare quel file in modo da farlo funzionare su indirizzi italiani, magari usare il geocoder di google oppure quello che viene utilizzato su questo sito: http://www.toptrento.com/servizi/trova_coordinate.asp

    Sarei felicissimo se qualcuno che ci capisce qualcosa mi potesso contattare via email, oppure in msn a: thomas987@tin.it oppure su ICQ a 298802690
    mi serve davvero questo “programmino” xkè devo tirarmi fuori la latitudine e la longitunide di 11000 indirizzi e con excel sarebbe una cosa bella e veloce invece di farlo uno ad uno con il link sopra-menzionato

    Ti/Vi ringrazio per la disponibilità…

  58. Giovanni scrive:

    Ciao, grazie per gli ottimi consigli!!!

    stò impazzendo con alcuni indirizzi presenti nel db perchè in alcune vie e comuni è presente l’apostrofo es: Piazza Gabriele D’Annunzio e questo mi interrompe lo script.

    var point;
    geocoder.getLatLng(‘Piazza Gabriele D’Annunzio, 80125, Napoli, NA, italia)’,
    function(point)
    {

    Qualcuno mi sa dare qualche consiglio??
    Grazie in anticipo!!

  59. Napolux scrive:

    Basta utilizzare la funzione addslashes() di PHP quando stampi gli indirizzi ;)

  60. Giovanni scrive:

    Ciao Napolux io uso asp e ho risolto con la funzione replace:

    Un saluto a tutti!

  61. Cri scrive:

    Ciao, mi sono imbattuta nel tuo blog, una domanda…se l’hai fatto!
    Io ho usato php google map api, non riesco a capire come poter visualizzare l’intera mappa dell’Italia.
    Infatti non appena inserisco dei marcatori mi visualizza la zona in cui i marcatori si trovano…
    come posso fare???
    Grazie

  62. Napolux scrive:

    @Cri
    Prova l’esempio della terza parte “bis”, sostituendo Piazza S. Babila con Italia e diminuendo lo zoom…

  63. Cri scrive:

    Io uso le GoogleMapAPI-2.3 non direttamente javascript…
    tu le hai mai usate?

  64. Alex scrive:

    Salve, hai per caso idea di come si implementi una soluzione del genere maiom.com?

    grazie :)

  65. Napolux scrive:

    @Alex
    Certo che lo so, ma un sistema alla maiom si chiama lavoro, non tutorial ;)

  66. Valerio scrive:

    ciao, ok ho fatto la mia mappa e in ie funziona ma in firefox ho problemi.
    non si vede! posso fare qualcosa???
    grazie

  67. Napolux scrive:

    @Valerio
    Che errori ti da? Hai impostato una larghezza per la DIV “map”?

  68. Attiva Web scrive:

    ma come mai non c’è una vera e propria query insert?

  69. Napolux scrive:

    Leggi bene e non fare solo cut&paste… :roll:

  70. Gabbo scrive:

    Sapete se esiste un modo per colorare intere nazioni all’interno di una mappa google?

  71. Al scrive:

    Ciao, ottimo script :smile:
    Ho un problema che prende spunto dal tuo :wink: :
    ho un DB con 200+ indirizzi, se lancio lo script per trovare long e lat più volte i risultati sono sempre diversi; cioè, non mi trova indirizzi che prima trovava e viceversa…. qualche idea?
    Grazie :)

  72. Napolux scrive:

    Provato a formattare in modo univoco gli indirizzi?

    ESEMPIO:
    Via, Comune, Regione

  73. Al scrive:

    Grazie per la risposta.
    Sì, nel senso che gli indirizzi sono sempre gli stessi, a volte li trova a volte no :cry: può essere un pronblema di “inforchettamento” delle istruzioni?

  74. Gistar scrive:

    Al io ho avuto il tuo stesso problema, dato anche dal fatto che poi le cordinate non me le inseriva nel db.

  75. luca scrive:

    innanzitutto grazie per il tutorial è stato di enorme aiuto didattico e anche di più. volevo chiederti una cosa se per caso puoi aiutarmi. se provo ad accedere con un terminalino es. un nokia con sistema symbian all’indirizzo pubblicato es. http://www.ciccio.it/blabla/index.aspx non mi da alcun errore (ossia il browser è compatibile) ma non mi visualizza nulla. non carica minimamente il onload()… sai darmi qualche dritta? grazie mille in ogni caso

  76. luca scrive:

    ho provato a scrivere un commento ma non lo vedo.. :( riscrivo. intanto ringrazio per il tutorial è stato fondamentale per capire il tutto.
    una domanda. io accedo a una pagina web attraverso un nokia e non vedo nulla… ha come so un symbian… non accede nemmeno al load ma non mi segnala errori. come posso procedere? grazie. se qualcuno può darmi una dritta eventualmente lascio il mio indirizzo mail rents27@libero.it

  77. Al scrive:

    ho scoperto :idea: .. in pratica non georeferenzia + di 60 indirizzi in un intervallo di tempo. Quindi a seconda della velocità di esecuzione delle istruzioni mi dava sempre risultati diversi :shock:
    Ciao!

  78. Napolux scrive:

    @Luca
    Credo proprio che per Symbian non ci sia niente da fare.

  79. Stella scrive:

    Ciao a tutti!!!!!
    Napolux complimenti per il tutorial e per l’intero sito, direi che mi sta aiutando moltissimo ad imparare.
    Io ho un problema: ho un db con dei luoghi inseriti, ad esempio Maschio Angioino con relative coordinate.
    Il mio utente si logga sul proprio db tramite cellulare, e inserendo il punto in cui si trova, o tramite coordinate gps, o tramite indirizzo, e il punto di interesse (es: Maschio Angioino), dovrebbe ricevere indietro sul cell SOLO le indicazioni stradali e non la mappa.
    Come posso fare?
    Ciao!!!!!

  80. Napolux scrive:

    Eh, proprio non saprei come fare a mandare solo il percorso…

  81. Stella scrive:

    Ciao,
    Grazie per la risposta.
    Immaginavo che fosse difficile….. :sad:
    Prnsavo eventualmente di far far tornare solo la funzione getDirections() di Google Map ma non so proprio come fare……
    Mannaggia!!
    :cry:

  82. Barbara scrive:

    Ciao io ho un problema… sono riuscita a far ricercare vari indirizzi sulla mappa.
    Gli indirizzi derivano da un database nel quale ho a disposizione solo l’indirizzo e non la latitudie e longitudine.

    Il problema è che ad ogni refresh della pagina mi ridisegna i punti, ma i punti trovati non sono gli stessi della precedente schermata…anche se gli indirizzi sono gli stessi…immagino ci sia qualche problema…quando non mi trova l’indirizzo…ma non so il perchè.

  83. Barbara scrive:

    Ciao, il geocoder riesce a posizionare 50 punti tutti insieme?
    Perchè a me a volte dice che li trova tutti, se faccio il refresh della pagina magari me ne trova 10 in meno. C’è un modo per fargli soddisfare tutte le richieste? Oppure un’istruzione javascript per far ritardare la ricerca del punto in modo che le richieste arrivino al geocoder + lentamente? AIUTOOOO!!! Non so più come fare.

  84. Fabio scrive:

    Ciao,
    ma l’esempio della terza parte non viene visualizzato..
    Come mai?

    P.S.: Tutorial utilissimo!!Spero possa funzionare al più presto anche il terzo esempio

  85. gino scrive:

    perchè non create delle demo?

  86. Enrico scrive:

    Ciao e complimenti! Tutto chiaro!

    mi sfugge solo una cosa… io ho un db mysql che contiene solo gli indirizzi… funziona lo stesso? sono necessarie le coordinate?

  87. Gioweb scrive:

    Ciao
    vorrei mostrare all’interno di una mappa un’immagine PNG trasparente tipo bersaglio che resta ferma al centro assoluto della mappa.
    Non riesco a trovare esempi di codice che possano fare al mio caso potete indirizzarmi sulla via giusta?

    Ciao e grazie
    Gioweb

  88. milejo scrive:

    complimenti per la spiegazione esaustiva….Io ho completato la prima parte della guida perchè penso che il geocoding non mi serve per cio che devo fare…..Volevo chiderti però un aiutino. Io vorrei utilizzare le api di google maps per usare il mio telefonino + antenna gps come localizzatore o tracker gps. In pratica voglio che il mio cellulare mi invii (ad es. sotto forma di sms) in un mio DB le coordinate geografiche in cui mi trovo mettiamo caso ogni 5 sec. il mio problema è che non so come fare a visualizzare le coordinate geografiche presenti nel mio DB. DEvo creare una tabella come spiegato qui sopra? a me però non interessa che dato una via mi visualizzi il punto sulla mappa, mi interessa che date le coordinate mi visualizzi il punto sulla mappa….grazie ciao

  89. Napolux scrive:

    Potresti usare http://brightkite.com/ che fa esattamente quello che dici tu :P

  90. milejo scrive:

    ciao napolux grazie della veloce risposta …il problema è che voglio metterlo su un mio server…. mi sono portati avanti con il lavoro ma di java midlets non so neanche da dove inziare…. In pratica ho creato il mio web server che accedendo al DB prende tutti punti presenti nel db e crea un file xml conforme allo standard georss. Il problema è che non ho la più pallida idea di come fare un applicazione java sul cellulare che vada a scrivere nel mio db. sai mica se posso trovare qualcosa di già fatto???

  91. Napolux scrive:

    Eh, non credo ci sia qualcosa di già fatto…

  92. DAG scrive:

    Se cerco
    > hotel romagna
    > hotel romagnia
    > hotel romanga
    > etc.

    inserisce il marker sempre allo stesso posto…

    :D

  93. Napolux scrive:

    @ DAG:
    Beh, è un geocoder… Traduce gli indirizzi, non cerca gli hotel :)

  94. DAG scrive:

    :D io faccio spesso lo str***o…
    In realtà complimenti…
    Iniziai qualcosa del genere qualche anno fa e pubblicai una prima bozza nel forum di giorgiotave, in risposta ad un utente.
    Tra l’altro promisi che avrei pubblicato nel mio blog la versione definitiva… Mi hai battuto sul tempo (in realtà non ho più avuto modo di lavorarci): quasi quasi ti metto il link nel forum.

    PS: attualmente ancora ricevo accessi da quel thread… C’è gente che, leggendo il thread su GT pensa di trovare il post definitivo nel mio blog… Dopotutto sono passati diversi mesi…

  95. Napolux scrive:

    @ DAG:
    Guarda, se mi linki tu più che volentieri… (sempre che sul ForumGT abbiano ancora qualche link in uscita attivo…)

    :mrgreen:

  96. ligrex scrive:

    Ciao.
    Qualche tempo fa ho usato la tua guida per imparare l’argomento e il risultato è stato fantastico. Quindi innanzi tutto grazie e complimenti. A qualche mese di distanza però è insorto un problema. Stampo delle mappe con sopra qualche decina/centinaia di marker e tutto a sempre funzionato a dovere. Da qualche tempo però si è rotto qualcosa: su IE (sia sul 6 ma anche sul 7) non vengono più visualizzate le mappe che hanno più di una ventina di marker: ti risulta che sia cambiato qualcosa in GoogleMap? Su Firefox e Chrome continua a funzionare tutto alla grande. In realtà su IE non viene neppure caricata la pagina e viene restituito istantaneamente l’errore: “Impossibile aprire il sito: Operazione terminata”.
    Qualche idea? Ho sentito parlare di clusterizzaione dei marker ma sinceramente non ci ho capito molto e pur consultando la guida ufficiale non sono riuscito a far funzionare la cosa…
    Grazie e ciao,
    ligrex

  97. Napolux scrive:

    @ ligrex:
    Motore JS fallace su IE? Potresti usare il marker manager e mostrare solo le icone necessarie a seconda del momento…

    Non è una buona pratica mostrare le icone tutte insieme!

    LINK:
    http://googlemapsapi.blogspot.com/2006/11/marker-manager.html

  98. Laura scrive:

    cercavo un modo per far calcolare un percorso (partenza+arrivo) non dal sito di google maps ma direttamente dal sito che ospita la mappa, so che si può fare perchè l’ho visto ma non saprei dove trovare delle risorse.. aiuti?
    Secondo voi è una cosa fattibile da chi mastica solo un po’ di programmazione?

  99. Napolux scrive:

    @ Laura:
    Esatto, bisogna saper programmare. Comunque trovi tutte le informazioni sulla documentazione ufficiale.

  100. Laura scrive:

    ok grazie della dritta.. almeno ora so che non potrei farlo da sola :oops: