.. _defaultconf: App-Optionen ############ Basis-Konfiguration der Web-Anwendung. Alle `App-Konfigurationen` haben diese Konfiguration als Grundlage. Außerdem ist sie die Konfiguration der Hauptanwendung. In dieser Konfiguration wird festgelegt, welche Hintergrundlayer, Gruppen und Layer dem Benutzer angezeigt werden. Außerdem erfolgt hier die Konfiguration der einzelnen Komponenten der Webanwendung wie z.B. der Orts-Suche. Außerdem wird in dieser Konfiguration definiert, welche Komponenten in der Webanwendung aktiv sein sollen. Die Konfiguration ist in einzelne Abschnitte unterteilt die in der nachfolgenden Übersicht dargestellt und in den folgenden Unterpunkten näher beschrieben werden. ``app`` Konfigurationen zum Verhalten der Anwendung ``map`` Konfiguration der Kartenansicht ``groups`` Konfiguration der in der Anwendung zur Verfügung stehenden Layergruppen ``layers`` Konfiguration der in der Anwendung zur Verfügung stehenden Layer ``components`` Konfiguration und (De-)Aktivierung der einzelnen Komponenten der Anwendung ``communication`` Konfiguration der PostMessage Schnittstelle der Anwendung ``overviewmapConfig`` Konfiguration des OverviewMap-Moduls ``printConfig`` Konfiguration des Druck-Moduls ``searchConfig`` Konfiguration des Such-Moduls ``geolocationConfig`` Konfiguration des Geolocation-Moduls ``urlMarkersConfig`` Konfiguration des UrlMarkers-Moduls ``digitizeConfig`` Konfiguration des Digitize-Moduls app --- Im Nachfolgenden werden die Konfigurationsattribute zum grundlegenden Verhalten der Webanwendung vorgestellt. ``tooltipDelay`` Zeit die der Mauscursors über einem Element verweilen muss bis der entsprechende Tooltip angezeigt wird. Angabe in Millisekunden. Standardwert `1000`. ``sidebarOpen`` Sidebar wird geöffnet angezeigt. Standardwert `false`. ``preferredLanguage`` Voreingestellte Sprache für JavaScript-seitige Übersetzungen. Standardwert `de_DE`. ``headerLogo`` URL zum Logo welches im Sitebar-Header angezeigt wird. ``headerLogoLink`` Link der bei klick auf das Logo geöffnet werden soll. ``hideLink`` Link in der Seitenleisten oben wird ausgeblendet. ``versionString`` Versionsnummer die in der Anwendung angezeigt wird. ``showNoBackground`` Legt fest, ob die Auswahl "Kein Hintergrundlayer" im Layerswitcher verfügbar ist. Standardwert `true`. ``title`` Legt den Titel der Webseite fest, der für die Anwendung verwendet werden soll. ``tour`` Verweis auf die zu nutzende Tour. Es ist nur die Datei, nicht der komplette Pfad anzugeben. Standardwert `false`. ``disableMouseZoom`` Schaltet das Zoomen per Mausrad ab. Standardwert `false`. ``enableMouseZoomKey`` Schaltet das Zoomen per Mausrad mit gedrückter [Strg]-Taste ein. Standardwert `false`. Für diesen Modus darf ``disableMouseZoom`` nicht ``true`` sein. ``disablePinchZoom`` Schaltet das Zoomen per Geste ab. Standardwert `false`. ``disablePinchMove`` Schaltet das Verschieben der Karte per Geste ab. Standardwert `false`. ``enableTwoFingersPinchMove`` Schaltet das Verschieben der Karte mit 2 Finger Geste ein. Standardwert `false`. In diesem Modus kann nicht per Geste gezoomt oder die Karte rotiert werden. ``disableFeatureInfo`` Schaltet das Feature Info Popup für WMS Layer ab. Standardwert: `false` ``iframe`` Ermöglicht eine App die auf eine externe Anwendung verlinkt. Als Wert muss der Link zur Zielseite angegeben werden. ``contextMenu`` Wenn aktiviert, wird durch Rechtsklick das Kontextmenü aktiviert. Es kann der Name (ohne Pfad und ohne Dateiendung) der zu nutzenden Datei angegeben werden oder `true` (dann wird `index.js` verwendet). Standardwert `false`. Weitere Details im :ref:`Abschnitt Kontextmenü `. ``showLogin`` Der Login in der Sidebar wird nicht angezeigt. Standardwert `false`. ``hideMetadata`` Das Informaiton-i für die Metadaten wird ausgeblendet. Standardwert `false`. ``metaDescription`` Beschreibung die in der Anwendung im Meta-Tag Description angezeigt wird. ``ogImage`` Ermöglicht das hinterlegen eines Webseitenvorschaubildes durch Verwendung des og-image Tags. ``feedbackButton`` Ermöglicht die Anzeige eines Feedback Buttons über den der User dann eine E-Mail via "mailto" verschicken kann. Im Body der E-Mail wird immer automatisch die aktuelle URL der Anwendung hinzugefügt. Beispiel:: feedbackButton: email: somebody@example.com # setzt die E-Mail-Adresse subject: Feedback bielefeldGEOCLIENT # Betreff der Email body: Der Body-Text # Text for der URL der Anwendung im Body Beispiel:: app: tooltipDelay: 50 sidebarOpen: true headerLogo: 'img/logo-sitebar.png' versionString: 'Vers. 0.9.322 (Beta-Version)' map --- Im Nachfolgenden wird die Konfiguration der Karte innerhalb der Webanwendung erläutert. ``center`` Startkoordinate für die Karte. Kann nicht mit `bbox` zusammen verwendet werden. ``centerProjection`` Projektion, in der die Startkoordinate angegeben ist. ``sidebar`` Name des Tabs welcher beim Start geöffnet werden soll. ``defaultBackground`` Name des Hintergrundlayers, der beim Aufruf der Karte angezeigt werden soll. Wenn nicht angegeben wird der erste definierte Hintergrundlayer angezeigt. ``defaultOverlays`` Liste von Namen der Themenlayer, die beim Aufruf der Karte angezeigt werden sollen. Wenn nicht angegeben, sind alle Themenlayer nicht sichtbar. ``zoom`` Detaillevel, dass beim Aufruf der Karte angezeigt wird. Kann nicht mit `bbox` zusammen verwendet werden. ``bbox`` Startausdehnung der Karte. Kann nicht mit `center` zusammen verwendet werden. ``bboxProjection`` Projektion, in der die Startausdehnung angegeben ist. ``projection`` Projektion der Karte. ``projectionExtent`` Gültigkeitsbereich der Projektion. ``maxExtent`` Gültigkeitsbereich der Karte. Koordinaten sind in der Projektion der Karte anzugeben. Reihenfolge ist: - minimum Breitengrad - minimum Längengrad - maximum Breitengrad - maximum Längengrad ``minZoom`` Kleinste Detailstufe, die angezeigt wird. ``maxZoom`` Größte Detailstufe, die angezeigt wird. ``cluster`` Beinhaltet die Attribute `distance` und `maxObjects`. `distance` definiert die Entfernung in Pixel, innerhalb derer Features zu einem Cluster zusammengefasst werden. `maxObjects` definiert die maximale Anzahl an Objekten, die nach Klick auf einen Cluster angezeigt werden. Beinhaltet ein Cluster mehr Features als in `maxObjects` definiert, wird bei einem Klick auf den Cluster zum nächst höheren Zoomlevel gewechselt. Beispiel:: map: sidebar: 'overlay' center: - 468152.5616 - 5764386.17546 centerProjection: "EPSG:25832" zoom: 8 projection: "EPSG:25832" projectionExtent: [-46133.17, 5048875.26857567, 1206211.10142433, 6301219.54] maxExtent: - 243900 - 4427757 - 756099 - 6655205 minZoom: 7 maxZoom: 15 groups ------ ``include`` Liste mit Elementen, die als `inactive` markiert sind, aber in die Anwendung eingebunden werden sollen. ``exclude`` Liste mit Elementen, die nicht in die Anwendung eingebunden werden sollen. ``explicit`` Ausschließlich die aufgeführten Elemente werden in die Anwendung eingebunden. Einträge in `include` und `exclude` werden ignoriert. Werden im Abschnitt `layers` mit `explicit` einzubindende Layer definiert überschreibt dies die `explicit`-Einträge im `groups` Abschnitt. ``singleSelect`` Liste mit Gruppen. Wird die Gruppe sichtbar, werden alle anderen Gruppen nicht sichtbar. Beispiel:: groups: include: - food - plz layers ------ ``include`` Liste mit Elementen, die als `inactive` markiert sind, aber in die Anwendung eingebunden werden sollen. ``exclude`` Liste mit Elementen, die nicht in die Anwendung eingebunden werden sollen. ``explicit`` Ausschließlich die aufgeführten Elemente werden in die Anwendung eingebunden. Einträge in `include` und `exclude` werden ignoriert. Ebenso werden die Einträge in `include` und `explicit` im `groups` Abschnitt ignoriert. Beispiel:: layers: explicit: - stations - busstop components ---------- In diesem Abschnitt werden die einzelne Komponenten der Anwendung aktiviert bzw. deaktiviert. Die Angabe von `True` aktiviert eine Komponente, die Angabe von `False` deaktiviert sie. Folgende Komponenten stehen zur Verfügung: ``geolocation`` Zentriert die Karte auf die aktuelle Geoposition des Anwenders. Ist in der Anwendung als Schaltfläche sichtbar. Konfigurationen für diese Komponente werden im Abschnitt `geolocationConfig`_ vorgenommen. ``layerswitcher`` Erlaubt das Wechseln zwischen Hintergrundkarten und das Hinzufügen / Entfernen von Themenkarten. ``legend`` Zeigt Erläuterungen zu den in den Themenkarten angezeigten Daten. ``print`` Exportiert einen vom Benutzer bestimmten Ausschnitt der angezeigten Karte. Konfigurationen für diese Komponente werden im Abschnitt `printConfig`_ vorgenommen. ``scaleLine`` Zeigt die aktuelle Skalierung der Karte in km bzw. m an. ``scaleText`` Fügt der Anwendung eine 1: Maßstabsauswahl hinzu. ``search`` Erlaubt das Suchen nach Straßen bzw. Orten und zentriert die Karte auf ein ausgewähltes Suchergebnis. Konfigurationen für diese Komponente werden im Abschnitt `searchConfig`_ vorgenommen. ``overviewmap`` Zeigt eine Übersichtskarte, in der der aktuelle Kartenausschnitt hervorgehoben ist. ``serviceButton`` Fügt der Anwendung einen Button mit Untermenü hinzu. Standardwert: `false`. ``homeButton`` Fügt der Anwendung einen Button hinzu mit dem zurück zur initialen Position der Karte gesprungen werden kann. Standardwert: `true`. ``menuButton`` Fügt der Anwendung einen Button hinzu der das Seitenmenü öffnet. Standardwert: `true`. ``draw`` Fügt der Karte Zeichenfunktionen hinzu. Es können Punkte, Marker, Linien, Polygone und Texte eingezeichnet und bearbeitet werden. Standardwert: `false`. ``measureLabelSegments`` Zeigt, bei Verwendung der Messfunktion zwischenwerte an den Strecken bei Linien und Fläche an. Standardwert: `false`. ``saveSettings`` Ermöglicht angemeldeten Benutzer Konfigurationen zur Anwendung zu speichern und wieder zu laden. Die Funktion kann über den Werkzeug-Button aufgerufen werden. Standardwert: `false`. ``timetable`` Fügt der Karte die Fahrplanauskunft hinzu. Standardwert: `false`. ``searchDropdown`` Ermöglicht es dem Benutzer mehrere Suchdienst in der Anwendung zu verwenden. Ist die Komponente aktiv wird neben dem Suchfenster geschaffen, dass über eine Dropdown-Liste eine Suche ausgewählt werden kann. Standardwert: `false`. ``alkis`` Über die Alkis-Komponente können die verschiedenen ALKIS-Dienste von IP Syscon aktiviert werden. Hierbei ist zu beachten, dass auch die entsprechende Benutzerberechtigung vorliegen muss. Weitere Details im :ref:`Abschnitt ALKIS `. Beispiel:: alkis: simple: true # IP-Flurstücksauskunft einfach selection: true # IP-Flurstück nach Selektion pdf: true # IP-Flurstücksauskunft PDF official: true # IBR amtliche ALKIS-Produkte ``catalog`` Fügt der Anwendung einen Button hinzu, der ein Popup mit zusätzlich einbindbaren Diensten öffnet. Standardwert: `false`. Außerdem kann definiert werden, ob neben den Gruppen die für den Katalog gekennzeichnet sind, auch Layer angezeigt werden soll. Au0erdem kann zwischen zwei Layoutvarianten gewählt werden. Der Standardwert für die Variante ist 'abstract'. Beispiel:: catalog layer: false variant: 'abstract' # oder mouseover ``geoeditor`` Fügt der Anwendung den geoEDITOR hinzu. Dieser erlaubt das Erstellen und Editieren von Geometrien und deren Attributen. Um den geoEDITOR in seiner Default Konfiguration zu verwenden, muss lediglich der Wert `true` angegeben werden. Konfigurationen für diese Komponente werden im Abschnitt `geoeditorConfig`_ vorgenommen. Standardwert: `false`. ``digitize`` Macht aus der Anwendung eine Digitalisierungsanwendung. Dies erlaubt das Erstellen und Editieren von vordefinierten Digitalisierungslayern. Sowohl Geometrien als auch Attribute können hier editiert werden. Um das digitize-Modul zu verwenden, muss sowohl der Wert `true` angegeben werden, als auch mindestens ein Digitalisierungslayer unter `digitizeConfig`_ konfiguriert werden. Standardwert: `false`. componentPositions ------------------ In diesem Abschnitt können die in der Kartenanwendung als Buttons sichtbaren Element wie z.B. der `homeButton` positioniert werden. .. note:: Die Angabe der Position sollte in `em` erfolgen, da die in der Anwendung verwendeten Default-Werte ebenfalls in `em` angegeben sind. Siehe `em-Einheit `_ Der Abschnitt unterteilt sich in die Bereiche `mobile` und `desktop` da die Elemente Mobil andere Positionen haben müssen als in der Desktop Variante. Für jedes Element kann der `top`- sowie der `left`-Wert überschrieben werden. Im Folgenden sind die positionierbaren Elemente sowie deren `mobile`- und `desktop`-Standardpositionen aufgeführt. `desktop` `menuButton` - top: 0.5em - left: 0.5em `zoomButtons` - top: 2.7em - left: 0.5em `geolocationButton` - top: 6.5em - left: 0.5em `homeButton` - top: 8.5em - left: 0.5em `serviceButton` - top: 10.5em - left: 0.5em `serviceMenu` - top: 10.5em - left: 3.5em `rotationButton` - top: 12.5em - left: 0.5em `endMeasureButton` - top: 17.0em - left: 4.0em `pointMeasureResult` - top: 14.5em - left: 3.5em `mobile` `menuButton` - top: 0.5em - left: 0.5em `zoomButtons` - top: 3.2em - left: 0.5em `geolocationButton` - top: 8.1em - left: 0.5em `homeButton` - top: 10.8em - left: 0.5em `serviceButton` - top: 13.5em - left: 0.5em `serviceMenu` - top: 13.5em - left: 3.5em `rotationButton` - top: 16.2em - left: 0.5em `endMeasureButton` - top: 17.0em - left: 4.0em `pointMeasureResult` - top: 14.5em - left: 3.5em Beispielhafte Positionierung des `homeButton`:: componentPositions: desktop: menuButton: top: 1em left: 1em mobile: menuButton: top: 1.5em left: 0.5em .. _defaultconf_communication: communication ------------- In diesem Abschnitt werden die Konfigurationen der PostMessage Schnittstelle mitsamt der Referenzierung der JavaScript Plugins vorgestellt. Munimap stellt eine Schnittstelle bereit, die mittels `PostMessage `_ erlaubt, gewisse Teile der Anwendung von einer aufrufenden Anwendung heraus, zu steuern. Dies kann bspw. nützlich sein, wenn Munimap als IFrame in eine andere Anwendung eingebunden wurde, und diese Anwendung auf Ereignisse innerhalb von Munimap reagieren möchte. Folgende Konfigurationsoptionen werden unterstützt: ``allowedUrls`` Liste von Urls die mittels PostMessage kommunizieren dürfen. Dabei folgt der Url-Abgleich anhand der Origins, wonach das Protokoll, die Domain und der Port der Url übereinstimmen müssen. Weitere Angaben zur Url (bspw. ``/foo?bar=baz``) sind nicht zulässig. Diese Konfiguration ist verpflichtend. Beispiel:: communication: allowedUrls: - 'http://www.foo.bar' - 'http://www.foo.bar:80' - 'https://www.foo.bar' - 'https://www.foo.bar:443' - 'https://www.foo.bar:8080' ``plugins`` Liste der JavaScript Plugins, die auf die erhaltenen PostMessage Events reagieren sollen. Die Referenz wird über den Namen des JavaScript Plugins hergestellt. Eine genaue Beschreibung zum Erstellen dieser Plugins findet sich unter :ref:`JavaScript Plugins `. Sollten mehrere Plugins auf das gleiche PostMessage-Event hören, wird ausschließlich das zuletzt registrierte Plugin für das jeweilige Event ausgeführt. Beispiel:: communication: allowedUrls: - 'http://www.foo.bar' plugins: - 'zoomToBbox' # Referenziert JavaScript Plugin mit dem Namen 'zoomToBbox' overviewmapConfig ----------------- In diesem Abschnitt werden die Konfigurationen des OverviewMap-Moduls vorgestellt. ``layerName`` Name des Layers, der in der OverviewMap dargestellt werden soll. Wird kein Layer angegeben, werden alle in der Karte sichtbaren Layer verwendet. Wichtig: Der angegebene Layer muss als Backgroundlayer in der Anwendung vorhanden sein. ``collapsed`` Legt fest, ob die OverviewMap bei Start der Anwendung eingeklappt ist oder nicht. Mögliche Werte sind `true` und `false`. Standardwert `true`. Beispiel:: overviewmapConfig: layerName: 'mein-background-layer-name' collapsed: false printConfig ----------- In diesem Abschnitt werden die Konfigurationen des Druck-Moduls vorgestellt. ``chooseCells`` Erlaubt dem Benutzer die Gittergröße anzugeben. ``chooseStreetIndex`` Erlaubt dem Benutzer, wahlweise einen Straßenindex mit zu exportieren. ``downloadPrefix`` Text der dem Dateinamen des Resultats vorangestellt werden soll. ``pageResize`` Ändern der Größe des Druckbereichs in der Karte erlauben. Standardwert `false`. ``outputFormats`` Definiert die Liste mit Ausgabeformaten des Kartenbildes, die vom Benutzer ausgewählt werden können. Es können folgende Parameter angegeben werden: ``label`` Angezeigter Name des Ausgabeformats in der Auswahlliste ``value`` Dateiendung des Ausgabeformats. Z.B. `png` ``mimetype`` Internet Media Type des Ausgabeformates. Siehe `MIME-Typen `_ Beispiel:: outputFormats: [ { 'label': 'PDF', 'value': 'pdf', 'fileEnding': 'pdf', 'mimetype': 'application/pdf' }, { 'label': 'PNG', 'value': 'png', 'fileEnding': 'png', 'mimetype': 'image/png' } ] ``defaultScale`` Anfänglich ausgewählter Maßstab. Dieser muss in `availableScales` definiert worden sein. ``availableScales`` Liste mit Maßstäben, in denen die Karte exportiert werden kann. ``pageLayouts`` Liste von Seitenformaten, die dem Benutzer für den Export zur Verfügung stehen sollen. Seitenformate müssen im Abschnitt `availablePageLayouts` konfiguriert worden sein. ``availablePageLayouts`` """""""""""""""""""""""" Definitionen der verfügbaren Seitengrößen für den Export. Anzugeben mit `name`: `pageLayout`. Der `name` eines `pageLayouts` muss der Definition in der `mapfish.yaml` entsprechen, wobei im `name` vorkommende `-` Zeichen durch `\_` ersetzt werden. ``label`` Angezeigter Name des Seitenformats. ``icon`` Icon, die für das Seitenformat angezeigt werden soll. Hierbei ist `glyphicon-resize-vertical` für Hochformate und `glyphicon-resize-horizontal` für Querformate zu wählen. Im Prinzip können aber alle `Bootstrap Glyphicons `_ verwendet werden. ``mapSize`` Breite und Höhe der Karte, die in das exportierte Dokument eingebettet wird. Entspricht den Werten für `height` und `width` im jeweiligen `mapConfig` Block der `mapfish.yaml`. Angabe in Pixel als liste. Beispiel:: availablePageLayouts: "a0-portrait": label: A0 icon: "glyphicon-resize-vertical" mapSize: [2344, 3310] geolocationConfig ----------------- In diesem Abschnitt werden die Konfigurationen des Geolocation-Moduls vorgestellt. ``tracking`` Fragt die aktuelle Geoposition des Anwenders beim Aufruf der Anwendung ab und zentriert die Karte auf diese. Mögliche Werte sind `True` und `False`. Standard ist `True`. ``zoom`` Detailstufe, die nach erfolgreicher Ermittlung der Geoposition eingestellt wird. Ist `zoom` nicht angegeben, erfolgt keine Veränderung der Detailstufe. ``resultVisible`` Zeit in Millisekunden, nach der der Ergebnismarker automatisch verschwindet. Wenn 0 angegeben wird, verschwindet der Marker erst durch Anklicken. Der Standardwert beträgt 5000 Millisekunden. ``resultMarker`` Darstellungsoptionen des Ergebnismarkers. Mit `graphicFile` kann die zu verwendende Grafik angegeben werden. Außerdem stehen die Optionen `graphicWidth`, `graphicHeight`, `graphicYAnchor` und `graphicScale` zur Verfügung. Eine genauere Beschreibung dieser Optionen finden Sie unter :ref:`Style