Articoli Consigliati

La Successione di Fibonacci - VideoLa Successione di Fibonacci - Video

Ultimamente mi sono appassionato a giochi matematici ed enigmi. Mentre programmo una rubrica su enigmi e giochi matematici da pubblicare qui su Good2know, vi propongo questo...

Leggi l'articolo

Ecografia con l'iPhoneEcografia con l'iPhone

Se è vero il motto "C'è un'applicazione per tutto" anche il numero di gadget per smartphone sta raggiungendo questa definizione. E' il caso di un piccolo strumento...

Leggi l'articolo

Text shadow animation, testo in 3D con CSS3Text shadow animation, testo in 3D con CSS3

Girovagando per il web ho trovato un effetto con i nuovi css3 molto carino., fatto utilizzando i tag introdotti nella terza versione di CSS. Attraverso questi nuovi...

Leggi l'articolo

E dopo robots.txt è il momento di humans.txtE dopo robots.txt è il momento di humans.txt

Il file robots.txt penso che lo conosciamo tutti, è un file txt per aiutare i crawler dei motori di ricerca nell'indicizzazione. Bene, dopo i robot nei siti internet...

Leggi l'articolo

Zend_Acl e Zend_Auth - Sistema di autenticazione e autorizzazione con Zend FrameworkZend_Acl e Zend_Auth - Sistema di autenticazione e autorizzazione con Zend Framework

Zend_Acl è una delle tante classi di Zend molto utili. Consiste in una serie di funzionalità che permettono un controllo molto facile di CHI può fare COSA aumentando...

Leggi l'articolo

Zend_Auth - Gestire le autenticazioni semplicementeZend_Auth - Gestire le autenticazioni semplicemente

Zend_Auth è una classe di Zend Framework che permette la gestione dell'autenticazione su un sito in maniera molto semplice. Consiste in una serie di adapter per gli...

Leggi l'articolo

Aumentare le prestazioni di PHP con Facebook HipHopAumentare le prestazioni di PHP con Facebook HipHop

I carissimi programmatori di Facebook hanno rilasciato un piccolo progetto che ottimizza notevolmente le prestazioni, in fase di esecuzione, di codice php: Facebook HipHop. Come...

Leggi l'articolo

GoPano micro - lente per iPhone 4 per registrare video a 360 gradiGoPano micro - lente per iPhone 4 per registrare video a 360 gradi

Salve a tutti cari lettori, oggi vi vorrei presentare questo gadget per iPhone 4 che permette di registrare video a 360 gradi. Di seguito potete vedere un video d'esempio. Potete...

Leggi l'articolo

Sistema di video-conferenza con Kinect progettato dal MITSistema di video-conferenza con Kinect progettato dal MIT

Salve a tutti cari lettori di good2know. Navigando ho trovato un nuovo progetto in fase di sviluppo da parte del MIT di Boston su un sistema di videoconferenze che...

Leggi l'articolo

Animazione raggi rotanti in css3 e javascriptAnimazione raggi rotanti in css3 e javascript

Propongo di seguito un interessante effetto in javascript e css3 che permette di creare un effetto di rotazione a qualsiasi contenuto. La proprietĂ  che utilizzeremo...

Leggi l'articolo

I have added "Montedidio" to my aNobii bookshelf

Guida alle API di Google Maps, iniziamo a creare le mappe

6

Scritto il 13/05/2009 da Filippo Matteo Riggio

logo-google-code1
Dopo il primo appuntamento con l’ introduzione alle Google Maps, eccovi il secondo capitolo sulle API di Google Maps in cui parleremo di come creare una mappa.

Come sempre in fondo alla pagina trovate il pdf scaricabile.

Iniziamo!

Per avere una visione migliore facciamo un esempio.

<!DOCTYPE html “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”content-type” content=”text/html; charset=utf-8″/>
<title>Google Maps JavaScript API Example</title>
<script src=”http://maps.google.com/maps?file=api&amp;v=2&amp;key=abcdefg&sensor=true_or_false”
type=”text/javascript”></script>
<script type=”text/javascript”>

  function initialize() {
    if (GBrowserIsCompatible()) {
      var map = new GMap2(document.getElementById(“map_canvas”));
      map.setCenter(new GLatLng(37.4419, -122.1419), 13);
      map.setUIToDefault();
   }
}

</script>
</head>
<body onload=”initialize()” onunload=”GUnload()”>
   <div id=”map_canvas” style=”width: 500px; height: 300px”></div>
</body>
</html>

Questa è una pagina html che contiene la mappa di Palo Alto in California ed è grande 500 pixel per 300 pixel.

mappa-palo-alto
Per prima cosa abbiamo incluso un file javascript esterno che ci fornirĂ  tutte le funzioni che potremo utilizzare.

Nell’URL (l’indirizzo a cui si riferisce il file) dovremo inserire la nostra API Key in questa parte qui : key=abcdefg , dove al posto di abcdefg inseriremo la API Key ottenuta in precedenza.

<script src=”http://maps.google.com/maps?file=api&amp;v=2&amp;key=abcdefg&sensor=true_or_false” type=”text/javascript”></script>

Poi bisogna creare la funzione initialize() . Successivamente, nel tag body inseriremo gli eventi onLoad=”initialize()” e onUnload=”GUnload()”.

Function initialize(){

  if (GBrowserIsCompatible()) {
     var map = new GMap2(document.getElementById(“map_canvas”));
     var ll = new GLatLng(37.4419, -122.1419);
     map.setCenter(ll, 13);
     map.setUIToDefault();
  }

}

La funzione GBrowserIsCompatible() restituisce true se il browser del client(colui che visita il sito) è compatibile con le API di Google Maps perché trattandosi di javascript potrebbe avere problemi di visualizzazione con i browser meno recenti o di chi ha javascript disattivato.

La variabile map istanzia una nuova classe GMap2(), creando una nuova mappa all’interno del tag div specificato attraverso l’attributo id.

La variabile ll istanzia una nuova classe GLatLng(latitudine,longitudine), a cui dovremo passare la variabile di latitudine e longitudine; questa nuova classe contiene tutti i metodi e le proprietĂ  relativi alle coordinate terrestri.

Adesso entra la programmazione orientata agli oggetti, chiamando la funzione associata all’oggetto, in questo caso la variabile map.

Attraverso la funzione set Center(ll,zoom) è possibile centrare la mappa sulle coordinate e zoomare quanto si vuole, scegliendo un valore tra 1 e 20.

L’ultima funzione setUIToDefault() associa alla tua Google Map l’interfaccia grafica standard, quella che si visualizza anche sul sito di Google Maps.

Finisce qui il capitolo su come creare la mappa.

Tutti vi chiederete, si ho la mappa, e le coordinate come le trovo? Questo sarĂ  l’argomento del prossimo capitolo. Alla prossima :D !

Di seguito il pdf scaricabile di questo capitolo.

Guida alle API di Google Maps – Capitolo 2 – Iniziamo a creare le mappe

icona-pdf12 Creare la mappa
Tags: , , , ,

Commenti (6)

please send me html

maps roma

via della tre fontane, roma

only html thank

ok :D i sent you and email

Ciao, io ho una domanda importante perchè non trovo risposte in rete..mi serve per la tesi..
E’possibile con le API e java script creare una applicazione che effettui il layer di due mappe(come si fa manualmente in google earth), ossia che mi restituisca una mappa georeferenziata con un’altra sovrapposta…che può rappresentare un percorso georeferenziato in formato KMZ..
Ringrazio chi mi potrà aiutare, e se mi contatta cercherò di sdebitarmi..grazie

Ciao Mauro, allora creare un layer sovrapposto a quello di maps è possibile e mantiene la georeferenziazione.
Per il formato KMZ però non saprei come aiutarti. Consiglio mio è studiarsi approfonditamente la documentazione di Maps.
Ciao
Filippo

Ciao, ti ringrazio
Ho sbagliato a scrivere, era KML e non KMZ, ho trovato che c’è un API che rende possibile. Ti ringrazio..
Un’ultima cosa, è possibile con qualche script o codice, convertire la mappa visualizzata, o il risultato del layer, in un formato immagine..Perchè sarebbe utile per poter richiamare l’immagine..Ho citato i tuoi articoli come fonte nella mia tesi..grazie

Ciao Mauro, ti consiglio di guardare le static maps (http://code.google.com/intl/it/apis/maps/documentation/staticmaps/) da qui potrai ricavare un immagine della mappa renderizzata. In teoria dovrebbe funzionare anche dopo che tu hai applicato il layer sulla mappa.
Fammi sapere se funziona! :)

Per la tesi, grazie mille, non ho parole! Se hai una copia in formato digitale mi piacerebbe darle un’occhiata! ;)

Lascia un commento