Usability¶
Einige Funktionen der API lassen sich über sogenannte Usability-Konstanten steuern. Diese können in der custom.js
für einzelne Karten oder gesamte Portalseiten gesetzt werden.
ClickBubble¶
Die ClickBubble verbessert die Bedienbarkeit des Viewers auf Touch-Geräten. Werkzeuge, die einen Klick in die Karte voraussetzen (z. B. Identify), sind auf Touchscreens oft schwer zu bedienen, da ein Fingerklick ungenau sein kann. Wird die ClickBubble aktiviert, erscheint sie bei allen Werkzeugen, die eine Klick-Interaktion erfordern:

Anstatt direkt in die Karte zu klicken, zieht der Anwender die Bubble an die gewünschte Stelle. Die Spitze der Bubble markiert den genauen Punkt für die Aktion. Lässt man die Bubble los, kehrt sie automatisch in die obere rechte Ecke zurück und führt die gewünschte Aktion aus (z. B. Identify).
Klickt der Anwender auf die Bubble (ohne sie zu ziehen), öffnet sich eine Beschreibung zur Bedienung.
Aktivierung in custom.js
¶
Diese Funktionen sind standardmäßig deaktiviert und müssen explizit in der custom.js
aktiviert werden:
// ClickBubble aktivieren
webgis.usability.clickBubble = true;
// ContextMenu Bubble aktivieren
webgis.usability.contextMenuBubble = true;
Da diese Funktionen nur auf Touch-Geräten sinnvoll sind, kann die Methode isTouchDevice()
genutzt werden:
webgis.usability.clickBubble =
webgis.usability.contextMenuBubble = webgis.isTouchDevice();
Sketch-Optimierungen¶
Standardmäßig kann der Anwender bei einem Sketch auf einen Vertex klicken, um ein Popup-Menü zu öffnen:

Falls die rechte Maustaste oder die ContextMenu Bubble verfügbar ist, wird dieses Menü nicht mehr benötigt. Es kann jedoch weiterhin explizit aktiviert werden:
webgis.usability.sketchMarkerPopup = true; // Empfehlung: false!!
Konstruktionswerkzeuge einschränken¶
In manchen Anwendungen sind nicht alle Konstruktionswerkzeuge erforderlich. Insbesondere die erweiterten Konstruktionsoptionen richten sich an versierte Anwender und können in bestimmten Karten deaktiviert werden:
webgis.usability.constructionTools = false;
Tastatur-Shortcuts für Sketch¶
Beim Konstruieren eines Sketches können verschiedene Tastatur-Shortcuts genutzt werden:
A: Fügt einen Vertex auf einer Kante hinzu.
D: Löscht einen Vertex.
Strg: Ermöglicht das Aufziehen eines Fensters zur Mehrfachselektion von Vertices, die dann gemeinsam verschoben oder gelöscht werden können.
Diese Funktionalität kann über folgende Schalter gesteuert werden:
webgis.usability.allowSketchShortcuts = true;
webgis.usability.allowSelectSketchVertices = true;
Inhaltsverzeichnis¶
Um das Verhalten des Inhaltsverzeichnis anzupassen gibt es folgende Settings:
makePresentationTocGroupCheckboxes
(``true`` /false
)): ist diese Option auftrue
gesetzt, werden bei aufklappbaren Gruppen-Layern im Inhaltsverzeichnis automatisch Checkboxes angeboten, wenn alle darunter liegenden Layer/Darstellungsvarianten ebenfalls eine Checkbox aufweisen. Mit dieser Checkbox können dann alle darunter liegenden Layer mit einem Klick sichtbar oder unsichtbar geschalten werden.orderPresentationTocContainsByServiceOrder
(true
/ ``false``): Damit wird festgelegt, das im Inhaltsverzeichnis die Container nach der Zeichenreihenfolge der Dienste sortiert werden. Ansonsten gilt die Sortierung aus dem CMS, wie sie unterViewer/Darstellungsvarianten
definiert ist. Verwendet man keine Darstellungsvarianten sondern dynamische Inhaltsverzeichnisse, würde die Container ohne diese Option alphabetisch sortiert.
webgis.usability.makePresentationTocGroupCheckboxes = true;
webgis.usability.orderPresentationTocContainsByServiceOrder = true; // default: false
Toolbox¶
Mit diesen Einstellungen können die Werkzeuge in der Toolbox konfiguriert werden. Die Einstellungen erfolgen pro Werkzeug, die Syntax ist wie folgt:
webgis.usability.toolProperties['{tool-id}'] = {
container: 'a custom container for this tool', // optional
name: 'a custom name for this tool', // optional
tooltip: 'a custom tooltip for this tool', // optional
};
Die {tool-id}
ist die ID des Werkzeugs. Man bekommt die Ids der einzelnen Werkzeuge
über die WebGIS API /rest/tools
Ein Anwendungsbeispiel ist beispielsweise, wenn Werkzeuge in einem anderen Container (Reiter), verschoben werden sollten, zB:
webgis.usability.toolProperties['webgis.tools.fullextent'] = {
container: 'Start'
};
webgis.usability.toolProperties['webgis.tools.identify'] = {
container: ['Start','Abfragen']
};
Hier wird das Werkzeug Vollausdehnung in den Reiter Start verschoben und das Werkzeug Abfragen in den Reiter Start und Abfragen. Sollte ein Werkzeug also in mehreren Reitern sichtbar sein, muss der Container als Array angegeben werden.
Des weiteren kann die Reihenfolger der Container bestimmt werden:
webgis.usability.toolContainerOrder = [
'Start',
'Abfragen',
'Messwerkzeuge',
'Zeichnen',
'Navigation'
];
Wird hier nichts angegeben, entspricht die Reihenfolge der Container jener Reihenfolge, mit der die Werkzeuge in die Karte eingefügt wurden.
Bemerkung
Ändert man die toolProperties
der Werkzeuge, sollte immer auch die Container Reihenfolge
definiert werden, da sonst die Reihenfolge der Container eher zufällig vergeben wird.
Bemerkung
Es müssen bei der Reihenfolge nicht alle Container angegeben werden. Gibt es einen Container, der nicht in der Liste ist, wird dieser immer am Ende angezeigt.