Per utilizzare le mappe di GoogleMaps nei propri template e’ stato creato un tag apposito in modo da facilitarne l’uso. Il tag e’ stato chiamato gmap Includendolo nel proprio template si avra’ accesso alle funzioni che permetterano di visualizzare un box contentente la cartina di GoogleMaps indicante l’indirizzo desiderato.
L’utilizzo del tag e’ il seguente:
Includere il templatetag nel proprio template:
{% load gmap %}
Chiamare la relativa funzione che includera’ la cartina con l’indirizzo desiderato:
{% gmap name:nome_mappa width:300 height:300 address:"indirizzo desiderato" zoom:15 view:map %}
Testo visualizzato nell'overlay
{% endgmap %}
Chiamare la funzione {% gmap-script %} che includera’ nel template lo script di googlemaps passandogli la chiave registrata e gestira’ i vari box contenti le mappe.
Attention
Quest’ultima funzione dovra’ essere chiamata dopo la funzione gmap, altrimenti gli oggetti e le relative funzioni javascript create dinamicamente non verranno viste.
La funzione gmap accetta i seguenti parametri:
name: il nome che verra’ dato al div contenente la mappa. Se in un template si volessero visualizzare piu’ mappa E’ OBBLIGATORIO dare dei name diversi a ciascuna mappa. width: larghezza che verra’ data al div contenitore della mappa height: altezza che verra’ data al div contenitore della mappa address: indirizzo che verra’ visualizzato sulla mappa. Puo’ essere sia una stringa sia una variabile esistente nel context del template. zoom: livello di zoom di default. (1 - visione rispetto al mondo, 20 - visione dettagliata (si vede solo la via), 15 - livello medio (visione di qualche centinaio di metri intorno alla via) view: tipo di mappa da visualizzare: - map : mappa con la visualizzazione delle vie - satellite: visione dal satellite - hybrid: visione satellitare con i percorsi e i nomi delle vie segnati.
Il valore inserito tra i tag gmap e endgmap verra’ utilizzato come stringa visualizzata nell’overlay che apparira’ cliccando sull’iconcina che appare sopra l’indirizzo desiderato. Anche in questo caso si puo’ utilizzare sia una stringa sia una variabile presente nel context del template.
ESEMPI0 1: Visualizzazione di due indirizzi generico impostati manualmente:
{% load gmap %}
{% block title %}ESEMPIO{% endblock %}
{% block content %}
{% gmap name:mappa1 width:300 height:300 address:"Viale Abruzzi, 76, 20131, Milano" zoom:15 view:map %}<b>Viale Abruzzi</b><{% endgmap %}
{% gmap name:mappa2 width:300 height:300 address:"Viale Lombardia, 55, 20131, Milano" zoom:15 view:hybrid %}<b>Viale Lombradia</b><{% endgmap %}
{% gmap-script %}
{% endblock %}
ESEMPIO 2: Visualizzazione delle mappe generate dinamicamente:
{% load gmap %}
{% block title %}ESEMPIO{% endblock %}
{% block content %}
{% for a in address %}
{% gmap name:a.id width:300 height:300 address:a.gmaps_address zoom:15 view:map %}<b>{{ org.name }}</b>
{{ a.gmaps_address }}
{% endgmap %}
{% endfor %}
{% gmap-script %}
{% endblock %}
In questo esempio le variabili "a" e "org" rappresentano rispettivamente la variabile a (address) del ciclo for
e la variabile org (oggetto organization) che e' stata passata al template dalla vista.