Il Riferimento di classe descrive tutte le classi pubblicamente accessibili di API e i metodi utilizzabili ai fini dell'integrazione e del pilotaggio della mappa interattiva della Svizzera.
class SearchChMap
Questa è la classe principale della mappa e deve essere instanziata nella sua pagina HTML.
Costruttore
var Map = new SearchChMap({ container:"mapcontainer" });
Il Costruttore necessita un oggetto con i seguenti parametri definiti:
| Parametro | Tipo | Opzionale | Default | Descrizione |
| container | Mixed | sì | mapcontainer | Oggetto DOM o ID del container contenente la map. Preferibilmente un elemento a blocco come ad es <div> oppure <p> |
| center | Mixed | sì | - | Centro della mappa. String con indirizzo o array con coordinate Geo. Vedi riferimenti Geo per i dettagli. |
| from | Mixed | sì | - | Punto iniziale di un percorso. Immissione come center, utilizzabile solo insieme a to. |
| to | Mixed | sì | - | Punto finale di un percorso. Immissione come center, utilizzabile solo insieme a from. |
| type | String | sì | aerial | Tipo di mappa aerial o street |
| zoom | Number | sì | auto | Grado di zoom. Possibili valori: 512,128,32,8,4,2,1,0.5,0.25 Corrisponde al numero di metri per pixel, se necessario sarà arrotondato al prossimo livello disponibile. |
| controls | String | sì | default | Elementi di pilotaggio e visualizzazione nella mappa (sotto forma di string diviso da virgole):
default: Selezione standard di elementi di pilotaggio
zoom: Pilotaggio Zoom
type: Convertitore tra vista aerea e mappa stradale
pan: Frecce per lo spostamento e oscillazione della mappa
ruler: Scala della mappa in basso a destra
oppure string "all" |
| enable | String | sì | dragging,clickzoom,pois | Modi di pilotaggio interattivo della mappa (sotto forma di string diviso da una virgola):
dragging: Prendere e spostare con il mouse
clickzoom: Avvicinare (zumare), cliccando con il tasto sinistro del mouse, Allontanare, cliccando con il tasto destro del mouse
mousewheel: Spostamento della mappa con lo scroller del mouse
keyboard: Pilotaggio tramite tastiera con freccia e tasti +/-
pois: Passando con il mouse su POI, visualizzare Infobox
oppure string "all" |
| poigroups | String | sì | default | Categorie POI (sotto forma di string diviso da virgole). Vedi categorie e gruppo POI. |
| drawing | String | sì | - | Disegno creato su "disegnare su mappa" di map.search.ch, che viene visualizzato, ad es "mu4zdnjn2". |
| circle | Boolean | sì | auto | In questo modo viene visualizzata l'area voluta al centro della mappa (qualora l'indirizzo è sufficientemente preciso). |
| autoload | Boolean | sì | true | Se True, la mappa viene visualizzata automaticamente, non appena la pagina è scaricata completamente (onload). Se questo parametro è False, la mappa deve essere avviata con init(). |
| autoresize | Boolean | sì | true | Trova automaticamente le variazioni delle dimensioni del Map-Container. Se posto su False, le modifiche devono essere comunicate all'oggetto della mappa con resized(). |
Metodo per oggetto
| Metodo | Valore di return | Descrizione |
| set(Object p) | void | Fissa/aggiorna parametri della mappa. Come argomento è atteso un oggetto con parametri definiti, analogamente a quelli del costruttore (eccettuati container). |
| go(Object p) | void | Sposta la mappa verso il (centro) indicato oppure verso un determinato valore (dx/dy). Argomento è un oggetto con i seguenti parametri definiti:
center: Riferimento Geo del nuovo centro
zoom: Nuovo grado di zoom (optional). Gradi di zoom valevoli, vedi parametro costruttore.
dx: Spostamento relativo, in direzione orizzontale (in pixel)
dy: Spostamento relativo, in direzione verticale (in pixel)
circle: In questo modo viene visualizzata l'area voluta al centro della mappa (Boolean)
Per i parametr dx e dy possono essere utilizzate anche numeri negativi. I valori tra 0 e 1 saranno inoltre interpretati come frazione di larghezza/altezza attuale della mappa.
|
| get([String what]) | mixed | Getter per caratteristiche dell'oggetto della mappa. Come argomento possono essere utilizzati tutti i nomi, come per la definizione delle caratteristiche con set(). Senza argomento, questo metodo fornisce nuovamente un oggetto con tutti i parametri. Esempio: Map.get('zoom') oppure anche Map.get().zoom fornisce l'attuale grado di zoom. |
| zoom(int dir) | void | Ravvicinare/allontanare della mappa. dir > 0: ravvicinare, dir < 0: allontanare. |
| enable(String what) | void | Attivazione di modi di pilotaggio. È attesa una lista divisa con virgole come argomento. Vedi parametro Parametro Costruttore enable. |
| disable(String what) | void | Disattivazione di modi di pilotaggio. Argomento come per enable(). |
| showPOIGroup(String groups) | void | Appaiono uno o più gruppi di POI. Argomento è uno string diviso da virgole, come da lista. |
| hidePOIGroup(String groups) | void | Elimina gruppi POI dalla mappa. Argomento come per showPOIGroup() |
| addPOI(SearchChPOI obj) | void | Piazza un POI specifico sulla mappa. Attende un'istanza di SearchChPOI come argomento. |
| removePOI(SearchChPOI obj) | void | Elimina un POI specifico dalla mappa. Necessita un riferimento dell'oggetto SearchChPOI da eliminare come argomento. |
| removeAllPOIs() | void | Cancella tutti gli oggetti POI specifici dalla mappa. |
| getPermUrl([String mode]) | String | Fornisce una URL assoluta per map.search.ch, con l'estratto attuale della mappa. Tramite il parametro opzionale mode possono essere generati anche URL per la versione stampa ("print") oppure per la pagina da inviare ("email"). |
addEventListener( String event, mixed func[, Object obj]) | void | Registrazione di un eventhandler.
event: Nome dell'evento. Vedi lista qui di seguit.
func: Riferimento a una funzione globale oppure string con nome di metodo di obj.
obj: Oggetto il cui metodo func è un eventhandler.
|
removeEventListener( String event, mixed func[, Object obj]) | void | Eliminazione di un eventhandler precedentemente registrato. Occorre indicare gli stessi argomenti già utilizzati per la registrazione. |
| resize(int w, int h) | void | Pone la mappa integrata, alla larghezza e altezza indicata. |
| init() | void | Avvio manuale della mappa. Deve essere eseguito quando autoload è False. |
Events
| Event | Descrizione |
| load | Genera, quando la mappa è completamente caricata. Ovvero, tutte le immagini visibili sono caricate e vengono visualizzate. |
| change | Genera, quando l'estratto della mappa è cambiato. Come ad es. dopo che l'utente ha spostato o ravvicinato la mappa. |
| maptypechanged | Genera, quando si cambia tipo di mappa (vista aerea/mappa stradale). |
| dragstart | Genera, quando l'utente inizia a tirare la mappa con il mouse. |
| dragend | Genera, quando l'utente lascia il mouse dopo aver tirato. |
| mouseclick | Genera, quando l'utente clicca nella mappa. |
| panstart | Genera, quando la mappa inizia a spostarsi. Questo può accadere, premendo sulle frecce per lo spostamento oppure sui tasti con le frecce sulla tastiera, non però tirando la mappa con il mouse. |
| panend | Genera, quando lo spostamento della mappa è terminato. |
| zoomstart | Genera, quando la mappa viene ravvicinata (zoom). |
| zoomend | Genera, quando l'animazione zoom della mappa è terminata. |
| mapmove | Genera, continuamente mentre la mappa è in movimento. |
| geoposition | Fornisce informazione sulla precisione del centro della mappa. Argomento contiene le seguenti caratteristiche:type: Tipo/precisione georeferenza, possibili valori: point,street,city,place,area score: valutazione dei resultati 100: chiaro 90: interpolato 80: parecchi resultati 70: più di 8 resultati 6x: inserimento corretto 50: numero della strada ignorato 40: solo luogo 0: nessun resultato error: messaggio d'errore (opzionale) |
Eventhandler vengono annunciati e disdetti all'oggetto mediante i seguenti metodi. Un handler può essere una funzione globale o un metodo dell'oggetto e come unico argomento ha a disposizione un oggetto con caratteristiche specifiche dell'evento.
// Register an event-handler function
Map.addEventListener("load", function(e){ alert(e.event); });
// Add and remove an object method as event-listener
Map.addEventListener("change", "mapchanged", MyObj);
Map.removeEventListener("change", "mapchanged", MyObj);
Categorie e gruppi POI
default: Selezione di categorie POI in funzione del grado di zoom
| verkehr: |
Traffico |
| bergbahn |
Funicolare |
| parkhaus |
Autosilo |
| haltestelle |
Tram/bus |
| zug |
Treno |
| viasuisse |
Infostrada |
| gastro: |
Gastronomia |
| bar |
Bar |
| cafe |
Caffé |
| hotel |
Hotel |
| restaurant |
Ristorante |
| kultur: |
Divertimento |
| kino |
Cinema |
| museum |
Museo |
| theater |
Teatro |
| tour |
Escursioni |
| feuerstelle |
Focolare |
| spielplatz |
Parco giochi |
| bad |
Piscina pubblica |
| gebaeude: |
Edifici pubblici |
| kirche |
Chiesa |
| polizei |
Polizia |
| schule |
Scuola, uni |
| spital |
Ospedale |
| verwaltung |
Amministrazione |
| service: |
Shopping/Servizi |
| apotheke |
Farmacia |
| geldautomat |
Bancomat |
| post |
Posta |
| shop |
Negozi |
| tankstelle |
Distributore |
| geo: |
Geo/Meteo |
| berg |
Montagne |
| pass |
Passi |
| wasserfall |
Cascate |
| webcam |
Webcam |
| meteoradar |
Radar meteo |
| wikipedia |
Wikipedia |
Così si attivano e si disattivano categorie POI nella mappa:
Map.showPOIGroup("verkehr,bar,cafe,theater");
Map.hidePOIGroup("mobility");
class SearchChPOI
Questa classe rappresenta un POI specifico per la mappa interattiva. Istanze di questa possono essere aggiunte al oggetto Map tramite il metodo addPOI() e piazzate sulla mappa.
Costruttore
var Poi = new SearchChPOI({ center:[600000,200000], html:"Sternwarte Bern" });
Map.addPOI(Poi);
Il Costruttore attende un oggetto con i seguenti parametri:
| Paramet | Tipo | Opzionale | Descrizione |
| center | Mixed | no | Posizione del simbolo. String con indirizzo o array con coordinate Geo. Vedi riferimenti Geo per i dettagli. |
| html | String | no | Contenuto del popup POI. HTML-Code è permesso. |
| title | String | sì | Titolo del popup POI |
| icon | String | sì | URL del file di immagine da utilizzare come simbolo del POI |
| width | Integer | sì | Larghezza del simbolo POI in pixel |
| height | Integer | sì | Altezza del simbolo POI in pixel |
| enabled | Boolean | sì | True (Default) quando il testo POI deve essere visualizzato passando sopra con il mouse |
| minzoom | Number | sì | POI viene visualizzato solo a partire da questo grado di zoom (vedi parametro zoom di SearchChMap) |
| maxzoom | Number | sì | POI viene visualizzato solo fino a questo grado di zoom |
Metodo per oggetti
| Metodo | Valore return | Descrizione |
| set(Object p) | void | Indicare/aggiornare caratteristiche del simbolo POI. Come argomento è atteso un oggetto con gli stessi parametri usati per il costruttore. |
| open() | void | Apre il popup POI con titolo e contenuto HTML. Se il POI non appare nell'estratto della mappa attuale, la mappa sarà spostata, finché il POI sarà visibile. |
| close() | void | Chiude il popup POI |
| show() | void | Apre il simbolo POI sulla mappa |
| hide() | void | Chiude il simbolo POI sulla mappa |
| destroy() | void | Elimina il POI dalla mappa e cancella tutti i riferimenti interni sull'oggetto |
| isVisible() | boolean | |
addEventListener( String event, mixed func[, Object obj]) | void | Registrazione di un eventhandler.
event: Nome dell'evento. Vedi lista qui di seguito.
func: Riferimento a una funzione globale oppure string con nome di metodo di obj.
obj: Oggetto, il cui metodo func viene considerato come eventhandler.
|
removeEventListener( String event, mixed func[, Object obj]) | void | Eliminazione di un eventhandler precedentemente registrato. Occorre indicare gli stessi argomenti già utilizzati per la registrazione. |
Eventi
| Evento | Descrizione |
| mouseover | Genera, quando il mouse passa sul simbolo POI sulla mappa. |
| mouseout | Genera, quando il mouse si allontana nuovamente dal simbolo POI. |
| mouseclick | Genera, quando si clicca sul simbolo POI sulla mappa. |
| popupopen | Genera, quando si apre il popup POI. |
| popupclose | Genera, quando il popup scompare di nuovo. |
| geoposition | Fornisce informazioni sulla precisione del centro della mappa. Evento-caratteristiche uguale come geoposition di SearchChMap |
Eventhandler vengono annunciati e disdetti all'oggetto mediante i seguenti metodi. Un handler può essere una funzione globale oppure un metodo per oggetto e come unico argomento ha a disposizione un oggetto con caratteristiche specifiche dell'evento.
Poi.addEventListener("popupopen", "poiPopup", MyObj);
Poi.removeEventListener("popupopen", "poiPopup", MyObj);
Ci sono ancora domande?
Se qualcosa non dovesse funzionare come da aspettativa oppure se dovessero mancare funzioni essenziali, la preghiamo di farcelo sapere. Saremo lieti di accogliere il suo feedback.
|