Le prossime variabili da parametrizzare sono latitudine e longitudine, in modo da poter centrare la mappa alle coordinate desiderate.
Il procedimento è del tutto simile a quello utilizzato per parametrizzare le dimensioni; vediamo comunque in dettaglio come fare.
Dichiariamo due nuove variabili membro, $latitude e $longitude ed inizializzamole nel costruttore.
class PhpGoogleMap {
// variabili membro della classe
private $apikey;
private $dimX;
private $dimY;
private $latitude;
private $longitude;
function __construct($_apikey){
$this->apikey = $_apikey;
$this->dimX = 500;
$this->dimY = 300;
$this->latitude = 0;
$this->longitude = 0;
}
Scriviamo la funzione setCoordinates che si occupa di impostare le variabili appena dichiarate:
function setCoordinates($lat, $long){
$this->latitude = $lat;
$this->longitude = $long;
}
Modifichiamo il metodo renderJS in modo che prenda in considerazione le nuove variabili:
function renderJS(){
echo "
<script src=\"http://maps.google.com/maps?file=api&v=2&key=". $this->apikey ."&sensor=false\" type=\"text/javascript\">
</script>
";
echo "
<script type=\"text/javascript\">
window.onload = initialize;
window.onunload = GUnload;
function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById(\"map_canvas\"));
map.setCenter(new GLatLng(".$this->latitude.", ".$this->longitude."), 13);
map.setUIToDefault();
}
}
</script>
";
}
Aggiungiamo alla pagina base.php una chiamata a setCoordinates con le coordinate (che ormai conosciamo) di Palo Alto:
$map->setCoordinates(37.4419, -122.1419);
Et Voilà.
Naturalmente potete cambiare le coordinate in modo da poter centrare la vostra mappa in qualunque parte del mondo. Ma non è così facile sapere le coordinate di… casa vostra vero?
Per questo sfrutteremo, nel prossimo post, il servizio GeoCoding che permette di trasformare un indirizzo (Piazza Duomo 4, Milano ad esempio) in coordinate da dare in pasto alla nostra mappa. Andiamo!

