Die Klassenreferenz beschreibt alle öffentlichen Klassen des APIs und deren Methoden, die zur Einbindung und Steuerung der interaktiven Schweizerkarte benutzt werden können.
class SearchChMap
Dies ist die zentrale Klasse der Karte und muss in Ihrer HTML-Seite instaziiert werden.
Konstruktor
var Map = new SearchChMap({ container:"mapcontainer" });
Der Konstruktor erwartet ein Objekt mit folgenden benannten Parametern:
| Parameter | Typ | Optional | Default | Beschrieb |
| container | Mixed | ja | mapcontainer | DOM-Objekt oder ID des Containers, welcher die Map beinhaltet. Vorzugsweise ein Blockelement wie <div> oder <p> |
| center | Mixed | ja | - | Zentrum der Karte. String mit Adresse oder Array mit Geo-Koordinaten. Siehe Geo-Referenzen für Details. |
| from | Mixed | ja | - | Startpunkt einer Route. Eingabe wie center, kann nur zusammen mit to verwendet werden. |
| to | Mixed | ja | - | Zielpunkt einer Route. Eingabe wie center, kann nur zusammen mit from verwendet werden. |
| type | String | ja | aerial | Kartentyp aerial oder street |
| zoom | Number | ja | auto | Zoomstufe. Mögliche Werte: 512,128,32,8,4,2,1,0.5,0.25 Entspricht der Anzahl Meter pro Pixel, wird falls nötig auf die nächste verfügbare Stufe gerundet. |
| controls | String | ja | default | Steuer- und Anzeigeelemente in der Karte (als komma-getrennter String):
default: Standardauswahl an Steuerelementen
zoom: Zoomsteuerung
type: Umschalter zwischen Luftbild und Strassenkarte
pan: Verschiebungspfeile zum Schwenken der Karte
ruler: Kartenmassstab unten rechts
oder String "all" |
| enable | String | ja | dragging,clickzoom,pois | Modi zur interaktiven Steuerung der Karte (als komma-getrennter String):
dragging: Ergreifen und Verschieben mit der Maus
clickzoom: Einzoomen bei Klick mit linker Maustaste, Auszoomen mit rechter Maustaste
mousewheel: Verschieben der Karte mit dem Mausrad
keyboard: Tastatursteuerung mit Pfeil- und +/- Tasten
pois: Infobox beim Überfahren von POIs mit der Maus anzeigen
oder String "all" |
| poigroups | String | ja | default | POI-Kategorien (als komma-getrennter String). Siehe POI-Kategorien und -gruppen. |
| drawing | String | ja | - | Mit "Auf Karte zeichnen" von map.search.ch erstellte Zeichnung, die eingeblendet wird, z.B. "mu4zdnjn2". |
| circle | Boolean | ja | auto | Damit wird gesteuert, ob der Zielkreis des Kartenzentrums (falls Adresse genau genug ist) angezeigt wird. |
| autoload | Boolean | ja | true | Wenn True startet die Karte automatisch, sobald die Seite fertig geladen ist (onload). Ist dieser Parameter False, muss die Karte mit init() gestartet werden. |
| autoresize | Boolean | ja | true | Detektiert Grössenänderungen des Map-Containers automatisch. Falls auf False gesetzt, müssen Veränderungen mit resized() dem Kartenobjekt gemeldet werden. |
Objektmethoden
| Methode | Returnwert | Beschrieb |
| set(Object p) | void | Setze/Aktualisiere Einstellungen der Karte. Als Argument wird ein Objekt mit denselben benannten Parametern wie beim Konstruktor (ausgenommen container) erwartet. |
| go(Object p) | void | Verschiebt die Karte zum angegebenen Zentrum (center) oder um einen bestimmten Betrag (dx/dy). Argument ist ein Objekt mit folgenden benannten Parametern:
center: Geo-Referenz des neuen Zentrums
zoom: Neue Zoomstufe (optional). Gültige Zoomstufen siehe Konstruktor-Parameter.
dx: Relative Verschiebung in horizontaler Richtung (in Pixel)
dy: Relative Verschiebung in vertikaler Richtung (in Pixel)
circle: Steuert, ob der Zielkreis des Kartenzentrums angezeigt wird (Boolean)
Für die Parameter dx und dy können auch negative Zahlen verwendet werden. Werte zwischen 0 und 1 werden zudem als Bruchteil der aktuellen Kartenbreite/-höhe interpretiert.
|
| get([String what]) | mixed | Getter für Eigenschaften des Kartenobjekts. Als Argument können alle Namen wie beim Setzen der Eigenschaften mit set() verwendet werden. Ohne Argument liefert diese Methode ein Objekt mit allen Parametern zurück. Beispiel: Map.get('zoom') oder auch Map.get().zoom liefert die aktuelle Zoomstufe. Wurde eine Route berechnet, können mit Map.get('routeinfo').distance Informationen dazu (wie hier z.B. die Distanz) ausgelesen werden. |
| zoom(int dir) | void | Ein-/Auszoomen der Karte. dir > 0: einzoomen, dir < 0: auszoomen. |
| enable(String what) | void | Aktivieren von Steuerungsmodi. Erwartet eine komma-getrennte Liste als Argument. Siehe Konstruktor-Parameter enable. |
| disable(String what) | void | Ausschalten von Steuerungsmodi. Argument wie bei enable(). |
| showPOIGroup(String groups) | void | Blendet eine oder mehrere POI-Gruppen ein. Argument ist ein komma-getrennter String gemäss Liste. |
| hidePOIGroup(String groups) | void | Entfernt POI-Gruppen von der Karte. Argument wie bei showPOIGroup() |
| addPOI(SearchChPOI obj) | void | Platziert einen spezifischen POI auf der Karte. Erwartet eine Instanz von SearchChPOI als Argument. |
| removePOI(SearchChPOI obj) | void | Entfernt einen spezifischen POI von der Karte. Benötigt eine Referenz des zu entfernenden SearchChPOI-Objekts als Argument. |
| removeAllPOIs() | void | Löscht alle spezifischen POI-Objekte von der Karte. |
| getPermUrl([String mode]) | String | Liefert eine absolute URL nach map.search.ch mit dem aktuellen Kartenausschnitt. Über den optionalen Parameter mode können auch URLs für die Druckversion ("print"), die Versenden-Seite ("email") oder die Wegbeschreibung einer Route ("directions") generiert werden. |
addEventListener( String event, mixed func[, Object obj]) | void | Registrieren eines Eventhandlers.
event: Name des Events. Siehe nachfolgende Liste.
func: Referenz auf eine globale Funktion oder String mit Methodenname von obj.
obj: Objekt dessen Methode func als Eventhandler aufgerufen wird.
|
removeEventListener( String event, mixed func[, Object obj]) | void | Entfernen eines zuvor registrierten Eventhandlers. Es müssen dieselben Argumente wie beim Registrieren angegeben werden. |
| resize(int w, int h) | void | Skaliert die eingebundene Karte auf die angegebene Breite und Höhe. |
| init() | void | Manuelles Starten der Karte. Muss ausgeführt werden, wenn autoload False ist. |
Events
| Event | Beschrieb |
| load | Feuert wenn die Karte fertig geladen ist. Das heisst alle sichtbaren Bilder sind geladen und werden angezeigt. |
| change | Feuert wenn sich der Kartenausschnitt geändert hat. So z.B. nachdem der Benutzer die Karte verschoben oder gezoomt hat. |
| maptypechanged | Feuert wenn der Kartentyp (Luftbild/Strassenkarte) gewechselt wird. |
| dragstart | Feuert wenn der Benutzer beginnt die Karte mit der Maus zu ziehen. |
| dragend | Feuert wenn der Benutzer die Maus nach dem Ziehen wieder loslässt. |
| mouseclick | Feuert wenn der Benutzer in die Karte klickt. |
| panstart | Feuert wenn die Karte beginnt sich zu verschieben. Dies kann durch Drücken der Verschiebungspfeile oder der Pfeiltasten der Tastatur sein, nicht aber beim Ziehen der Karte mit der Maus. |
| panend | Feuert wenn die Verschiebung der Karte beendet wird. |
| zoomstart | Feuert wenn die Karte gezoomt wird. |
| zoomend | Feuert wenn die Zoom-Animation der Karte beendet ist |
| mapmove | Feuert fortlaufend, während die Karte bewegt wird. |
| mousemove | Feuert fortlaufend, während die Maus innerhalb der Karte bewegt wird. |
| geoposition | Liefert Informationen zur Genauigkeit des Kartenzentrums. Argument enthält folgende Eigenschaften:type: Art/Präzision der Georeferenz; mögliche Werte: point,street,city,place,area score: Bewertung des Resultats 100: eindeutig 90: interpoliert 80: mehrere Kandidaten 70: mehr als 8 Treffer 6x: Eingabe korrigiert 50: Hausnummer ignoriert 40: Nur Ortschaft 0: Kein Treffer error: Fehlermeldung (optional) |
Eventhandler werden mit den folgenden Methoden beim Objekt an- und abgemeldet. Ein Handler kann eine globale Funktion oder eine Objektmethode sein und erhält als einziges Argument ein Objekt mit event-spezifischen Eigenschaften.
// 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);
POI-Kategorien und -gruppen
default: Zoomstufenabhängige Auswahl an POI-Kategorien
| verkehr: |
Verkehr |
| bergbahn |
Bergbahn |
| parkhaus |
Parkhaus |
| haltestelle |
Tram/Bus |
| zug |
Zug |
| viasuisse |
Verkehrsinfo |
| gastro: |
Gastronomie |
| bar |
Bar |
| cafe |
Café |
| hotel |
Hotel |
| restaurant |
Restaurant |
| kultur: |
Kultur/Freizeit |
| kino |
Kino |
| museum |
Museum |
| theater |
Theater |
| tour |
Touren |
| feuerstelle |
Feuerstelle |
| spielplatz |
Spielplatz |
| bad |
Badeanstalt |
| gebaeude: |
Öffentl. Gebäude |
| kirche |
Kirche |
| polizei |
Polizei |
| schule |
Schule, Uni |
| spital |
Spital |
| verwaltung |
Verwaltung |
| service: |
Shopping/Service |
| apotheke |
Apotheke |
| geldautomat |
Geldautomat |
| post |
Post |
| shop |
Shop |
| tankstelle |
Tankstelle |
| geo: |
Geo/Wetter |
| berg |
Berge |
| pass |
Pässe |
| wasserfall |
Wasserfälle |
| webcam |
Webcam |
| meteoradar |
Regenradar |
| wikipedia |
Wikipedia |
Und so werden POI-Kategorien in der Karte ein- und ausgeschaltet:
Map.showPOIGroup("verkehr,bar,cafe,theater");
Map.hidePOIGroup("mobility");
class SearchChPOI
Diese Klasse repräsentiert einen spezifischen POI für die interaktive Karte. Instanzen davon können dem Map-Objekt über die Methode addPOI() hinzugefügt und auf der Karte platziert.
Konstruktor
var Poi = new SearchChPOI({ center:[600000,200000], html:"Sternwarte Bern" });
Map.addPOI(Poi);
Der Konstruktor erwartet ein Objekt mit folgenden benannten Parametern:
| Parameter | Typ | Optional | Beschrieb |
| center | Mixed | nein | Position des Symbols. String mit Adresse oder Array mit Geo-Koordinaten. Siehe Geo-Referenzen für Details. |
| html | String | nein | Inhalt des POI-Popups. HTML-Code ist erlaubt. |
| title | String | ja | Titelzeile des POI-Poupups |
| icon | String | ja | URL der Bilddatei, die als Symbol des POIs verwendet werden soll |
| width | Integer | ja | Breite des POI-Symbols in Pixel |
| height | Integer | ja | Höhe des POI-Symbols in Pixel |
| offset | Array | ja | Koordinaten vom Referenzpunkt des POI-Symbols in Pixel: [x,y]. Wird automatisch als [width/2, height/2] berechnet, falls nicht angegeben. |
| enabled | Boolean | ja | True (Default) wenn der POI-Text beim Überfahren mit der Maus angezeigt werden soll |
| minzoom | Number | ja | POI wird erst ab dieser Zoomstufe angezeigt (siehe Parameter zoom von SearchChMap) |
| maxzoom | Number | ja | POI wird nur bis zu dieser Zoomstufe angezeigt |
Objektmethoden
| Methode | Returnwert | Beschrieb |
| set(Object p) | void | Setze/Aktualisiere Eigenschaften des POI-Symbols. Als Argument wird ein Objekt mit denselben benannten Parametern wie beim Konstruktor erwartet. |
| open() | void | Öffnet das POI-Popup mit Titel und HTML-Inhalt. Befindet sich der POI nicht im aktuellen Kartenausschnitt, wird die Karte soweit verschoben, bis der POI sichtbar wird. |
| close() | void | Blendet das POI-Popup wieder aus |
| show() | void | Blendet das POI-Symbol auf der Karte ein |
| hide() | void | Blendet das POI-Symbol auf der Karte aus |
| destroy() | void | Entfernt den POI von der Karte und löscht alle internen Referenzen auf das Objekt |
| isVisible() | boolean | Gibt an ob der POI im aktuellen Kartenausschnitt sichtbar ist |
addEventListener( String event, mixed func[, Object obj]) | void | Registrieren eines Eventhandlers.
event: Name des Events. Siehe nachfolgende Liste.
func: Referenz auf eine globale Funktion oder String mit Methodenname von obj.
obj: Objekt dessen Methode func als Eventhandler aufgerufen wird.
|
removeEventListener( String event, mixed func[, Object obj]) | void | Entfernen eines zuvor registrierten Eventhandlers. Es müssen dieselben Argumente wie beim Registrieren angegeben werden. |
Events
| Event | Beschrieb |
| mouseover | Feuert wenn die Maus über das POI-Symbol auf der Karte fährt. |
| mouseout | Feuert wenn der Mauszeiger das POI-Symbol wieder verlässt. |
| mouseclick | Feuert wenn das POI-Symbol auf der Karte angeklickt wird. |
| popupopen | Feuert wenn das POI-Popup geöffnet wird. |
| popupclose | Feuert wenn das Popup ausgeblendet wird. |
| geoposition | Liefert Informationen zur Genauigkeit der POI-Position: Event-Eigenschaften gleich wie bei geoposition von SearchChMap |
Eventhandler werden mit den folgenden Methoden beim Objekt an- und abgemeldet. Ein Handler kann eine globale Funktion oder eine Objektmethode sein und erhält als einziges Argument ein Objekt mit event-spezifischen Eigenschaften.
Poi.addEventListener("popupopen", "poiPopup", MyObj);
Poi.removeEventListener("popupopen", "poiPopup", MyObj);
Noch Fragen?
Falls etwas nicht wie erwartet funktioniert oder Sie unverzichtbare Funktionen vermissen, lassen Sie es uns wissen. Wir nehmen Ihr Feedback gerne entgegen.
|