Markers personalizzati in Google Maps

Oggi era una di quelle serate in cui pensi: "Cazzo, vorrei scrivere qualcosa sul mio blog ma non trovo niente!". Il buon Fabio mi viene in soccorso, e con una simpaticissima email mi chiede: "Come faccio ad usare un marker personalizzato su Google Maps?"

Gli ho promesso un post e a casa mia le promesse si mantengono. Anche se al momento non ho la più pallida idea di come fare.

Siccome i bravi programmatori devono essere pigri e stupidi, riciclo bellamente l'esempio relativo alla seconda parte del tutorial su Google Maps: in quell'esempio viene piazzato un marker dopo una ricerca indirizzo andata a buon fine.

Andremo ad utilizzare al posto del solito marker di Google Maps un'icona scelta dal sottoscritto.

L'icona prescelta è questa:

marker.gif

Non si accettano commenti riguardanti l'icona scelta. Il file che farà da icona deve essere in formato PNG, possibilmente con uno sfondo trasparente, in modo da essere visualizzato correttamente sulla mappa.

In teoria dovrebbe essere accoppiato ad un altro file PNG che ne disegni l'ombra, ma in questo momento non ci serve.

Questo è tutto il codice che ci serve, da incollare appena dopo la creazione della mappa:

// Crea l'icona personalizzata
icona = new GIcon();
icona.image = "marker.png";
icona.iconSize = new GSize(25, 34);
icona.iconAnchor = new GPoint(12, 34);
icona.infoWindowAnchor = new GPoint(21, 1);
 
// Dati relativi all'ombra, che in questo caso non usiamo.
//icona.shadow = "";
//icona.shadowSize = "";

Ecco fatto (Mi sento un pelo Muciaccia). Abbiamo creato un nuovo oggetto GIcon() che conterrà tutti i dati relativi all'icona. Gli attributi, nell'ordine in cui sono stati scritti contengono:

  • L'indirizzo dell'immagine che farà da icona (anche su server diverso dal nostro)
  • La dimensione in pixel
  • Il punto dell'immagine che rappresenterà il punto esatto puntato dalla mappa
  • Il punto dell'immagine da cui scaturirà il pop-up contenente le informazioni

Per maggiori dettagli fate riferimento alla documentazione della classe GIcon(). D'ora in poi ogni marker creato tramite la funzione:

new GMarker(point, icona);

avrà come immagine quella che abbiamo definito.

Come al solito ecco un bell'esempio. Sbirciare il codice per capire al meglio quanto scritto sopra.

Ringrazio 3 volte Fabio. Una volta perché legge il mio blog. Un'altra perché mi da l'occasione di imparare qualcosa. Un'altra ancora perché mi ha dato l'idea per questo post, dedicato a lui.

, , ,
1 Star2 Stars3 Stars4 Stars5 Stars (3 voti, media: 3.67)
Loading ... Loading ...
Condividi

Articoli che potrebbero interessarti

A chi serviva il PDF?
Google Maps statiche
Google Maps e Laigueglia (SV)
Tutorial: tabs in Google Maps
Arriva la mapplet di duespaghi.it

8 Commenti per “Markers personalizzati in Google Maps”

  1. MyAvatars 0.2 Fabio ha detto:

    Grande Nap!! Ma che ora innaugurerai il nuovo servizio di post-on-demand? Ancora grazie!!

  2. MyAvatars 0.2 Napolux ha detto:

    Mah, dipende dal post richiesto principalmente…

    ;)

    Potrebbe essere un’idea…

  3. MyAvatars 0.2 Napolux ha detto:

    Scusa… Ma tu lavori in un’azienda che fa i siti x Cecchetto & Co. ?

    ^_^

  4. MyAvatars 0.2 Fabio ha detto:

    “Lavoro in” non è esatto, e “azienda” è una parola grossa! eheheheh comunque si.. è mia :)

  5. MyAvatars 0.2 Napolux ha detto:

    Complimentoni… ;)

  6. MyAvatars 0.2 cristian ha detto:

    Caro Napolux utilizzando le mie mappe di google maps non riesco ad esportare più di 100 segnalini (markers) perchè in google maps sono suddivisi in più pagine da 100 segnalini. MI POTRESTI AIUTARE
    GRAZIE
    CRISITAN

  7. MyAvatars 0.2 Napolux ha detto:

    Spiegati meglio…

  8. MyAvatars 0.2 Francesco ha detto:

    Grazie tante per i suggerimenti ;)

Lascia un commento



Chiudi
Invia e-mail