Creare una mappa in stile Google Maps con le librerie GD
- Febbraio 02, 2010
- by
- Donatantonio
In questo articolo vedremo come realizzare una simpatica mappa personalizzata seguendo lo stile grafico di Google Maps.
Quello di cui abbiamo bisogno sono:
- Una mappa in formato JPG
- Un paio di simboli grafici come in Google Maps
Nel nostro esempio utilizzeremo come mappa:

Come simboli invece quelli classici presenti in Google Maps:

Il nostro obiettivo sarà essenzialmente quello di realizzare una mappa nella quale posizioneremo i simboli in luoghi da noi scelti.
A tale scopo utilizzeremo le librerie GD di PHP, ed in poche righe di codice raggiungeremo il nostro obiettivo. (N.B. E’ necessario avere installata e configurata la libreria GD)
Apporremo ad esempio su Napoli, Salerno e Sapri i tre simboli, non prima di aver individuato le coordinate sulla cartina. In ultimo salveremo la mappa risultante e la stamperemo a video.
<?php
// carico l'immagine da usare come mappa
$campania = imageCreateFromJpeg('campania.jpg');
// carico i simboli in stile Google Maps
$rosso = imageCreateFromPng('rosso.png');
$giallo = imageCreateFromPng('giallo.png');
$verde = imageCreateFromPng('verde.png');
// appongo i simboli in 3 posizioni diverse della cartina
// imageCopy(la mappa, il simbolo da apporre, coordinata x mappa, coordinata y mappa, coordinata x simbolo, coordinata y simbolo, larghezza simbolo, altezza simbolo);
// simbolo rosso su Salerno
imageCopy($campania,$rosso,203,151,0,0,15,25);
// simbolo verde su Napoli
imageCopy($campania,$verde,124,115,0,0,15,25);
// simbolo giallo su Sapri
imageCopy($campania,$giallo,333,272,0,0,15,25);
// la cartina è pronta per essere creata e memorizzata
imageJpeg($campania,"campania_maps.jpg",100);
// stampa a video
echo "<img src='campania_maps.jpg' alt='La mia mappa'/>";
?>
Ecco il risultato dello script:

In poche linee di codice abbiamo creato la nostra prima mappa. Con un pizzico di fantasia sarà possibile realizzare mappe più complesse o semplicemente aggiungere elementi ad immagini di base.
Clicca qui per scaricare lo script e le immagini.


