Kapitel 3. Konfiguration

Inhaltsverzeichnis

3.1. Generelle Einstellungen
3.2. Einstellungen für die Kachel-Provider
3.3. Einige Beispiel-Konfigurationen

Die Art, wie und woher Kartenkacheln heruntergeladen und wie resp. wohin sie gecacht werden, als auch die unterstützten Anzeige-Optionen werden alle in einer einfachen Java-Properties-Datei festgelegt. Dies ist die Datei, welche von diesem FileHandler behandelt wird.

Die enthaltenen Properties sind gruppiert in generelle Einstellungen, welche zum Teil über das GUI manipuliert werden können, und in das Setup von Kartendiensten mit ihren jeweiligen Caching-Strategien.

Die Properties für die generellen Einstellungen haben alle einen "Setting." Präfix und diese werden für alle Setups verwendet. Dann gibt es noch eine kommaseparierte Liste von Setup-Namen im "SetupNames" Property, worauf das "SetupName" Property verweist, um das aktive Setup festzulegen. Die Konfiguration jedes Setups ist dann in den Properties mit dem Präfix "Setups.[setupName].".

In jeder dieser Gruppen für ein spezifisches Setup legt das "Provider" Property den Dienst fest, welcher für den Zugriff auf die Kacheln verwendet werden soll. Die möglichen Providertypen sind:

Jeder dieser Providertypen hat seine eigenen spezifischen Unter-Properties, welche weiter unten beschrieben werden.

Die beiden Caching-Providertypen sind jedoch speziell: Sie haben beide jeweils ein "Provider" Unter-Property und unterstützen dadurch den Aufbau von Providerketten. Ein Beispiel wäre ein CacheMemory-Provider, der Kacheln im Arbeitsspeicher cacht, welche von einem CacheFile-Provider zunächst in einem lokalen Verzeichnis gesucht werden, bevor er sie ultimativ von einem der URL-basierten Provider (GoogleMaps, etc.) über den entsprechenden Internet-Dienst anfordert:

  MapViewerGUI <= CacheMemory <= CacheFile <= GoogleMaps

Ein anderes Beispiel könnte die gleiche Caching-Kette sein, jedoch mit einem Offline-Provider am Ende der Kette. Dies könnte dann verwendet werden, um auf ein lokales Kachel-Repository zuzugreifen, ohne Netzwerkverkehr zu verursachen:

  MapViewerGUI <= CacheMemory <= CacheFile <= Offline

Gibt es ein "Provider" Property ohne einen Setup Präfix, so hat dies Vorrang gegenüber allen konfigurierten Setups. Dies verhält sich dann, als wären keine Setup-Namen konfiguriert und entsprechend wird kein weiterer Präfix verwendet um die Provider Properties zu suchen.

3.1. Generelle Einstellungen

Tabelle 3.1. Die Properties für die generellen Einstellungen

Property-NameWert-TypDefault-WertBeschreibung
Setting.AllowNetwork boolean true Bestimmt, ob Kacheln vom Internet heruntergeladen werden dürfen.
Setting.Center.Latitude double 0.0 Bestimmt den Breitengrad des Kartenzentrums nach dem Laden.
Setting.Center.Longitude double 0.0 Bestimmt den Längengrad des Kartenzentrums nach dem Laden.
Setting.DataDirectory string Legt das Verzeichnis für GPX und andere Daten fest. Der Wert kann Referenzen auf Variablen enthalten, wobei damit System-Properties und DYN_ Properties für die .geomap Datei aufgelöst werden können.
Setting.DisplayOutdatedCachedTiles boolean true Bestimmt, ob veraltete Kacheln angezeigt werden sollen.
Setting.GPX.* [diverse] [diverse] Darin sind die Einstellungen für die Anzeige von GPX Daten gespeichert. Diese können jedoch über das GUI angepasst werden, womit keine manuelle Konfiguration notwendig ist.
Setting.Scale integer 0 Bestimmt die initiale Skalierung nach dem Laden. Dies wird auf den unterstützten Bereich des aktiven Providers limitiert werden.
Setting.Zoom integer 0 Bestimmt den initialen Zoom-Level nach dem Laden. Dies wird auf den unterstützten Bereich des aktiven Providers limitiert werden.

Tabelle 3.2. Die Properties für die Overlays der Massstabs-Informationen

Property-NameWert-TypDefault-WertBeschreibung
Setting.ScaleInfo.Background Farbe lightGray Bestimmt die Hintergrundfarbe der Massstabs-Informationen Overlays.
Setting.ScaleInfo.FontColor Farbe black Bestimmt die Schriftfarbe der Massstabs-Informationen Overlays. Dies wird sowohl verwendet für die Texte der Massstabs- und Distanzinformationen als auch für deren Markierungslinie.
Setting.ScaleInfo.FontName string Dialog-PLAIN-12 Bestimmt die Schrift der Massstabs-Informationen Overlays.
Setting.ScaleInfo.Visible boolean false Bestimmt, ob die Massstabs-Informationen Overlays sichtbar sind.

Tabelle 3.3. Die Properties für die Anzeige des Kachel-Caches

Property nameValue typeDefault valueDescription
Setting.TileCache.Directory string Legt das Verzeichnis fest, worin der Cache für Kacheln angelegt werden soll. Der Wert kann Referenzen auf Variablen enthalten, wobei damit System-Properties und DYN_ Properties für die .geomap Datei aufgelöst werden können.
Setting.TileCache.OutdatedColor color blue Bestimmt die Übertünchungsfarbe für outdated Cache-Kacheln.
Setting.TileCache.UnavailableColor color red Bestimmt die Übertünchungsfarbe für fehlende Cache-Kacheln.
Setting.TileCache.UpToDateColor color green Bestimmt die Übertünchungsfarbe für aktuelle Cache-Kacheln.
Setting.TileCache.Visible boolean false Bestimmt, ob Kachel-Cache Informationen sichtbar sind.
Setting.TileCache.Zoom integer ${Setting.Zoom} Bestimmt den Zoom-Level für die Cache-Kacheln.

Tabelle 3.4. Die Properties für die Anzeige des Kachelrasters

Property-NameWert-TypDefault-WertBeschreibung
Setting.TileGrid.Color Farbe black Bestimmt die Farbe der Gitterlinien des Kachelrasters.
Setting.TileGrid.FontColor Farbe black Bestimmt die Schriftfarbe der Kachelraster-Koordinaten.
Setting.TileGrid.FontName string Dialog-BOLD-18 Bestimmt die Schrift für die Kachelraster-Koordinaten.
Setting.TileGrid.FontShadow Farbe lightGray Bestimmt die Schriftschattenfarbe für die Kachelraster-Koordinaten. Dies sollte eine Farbe mit gutem Kontrast zur Schriftfarbe sein, um dadurch die Lesbarkeit der Koordinaten auf allen möglichen Hintergründen sicherzustellen.
Setting.TileGrid.Visible boolean false Bestimmt, ob Kachelraster und -Koordinaten sichtbar sind.

Die Werte der Farb-Properties können in verschiedener Weise angegeben werden:

  • Einige englische Namen wie "black", "red" und so weiter

  • Drei kommaseparierte Integerwerte für Rot, Grün und Blau, z.B. dezimal "51,102,153" oder in hex "0x33,0x66,0x99"

Die Werte für die Schrift-Properties müssen folgendermassen angegeben werden:

  1. Der Name der Schrift, z.B. "Arial", "Courier", "Serif", "Dialog", etc.

  2. Ein einzelner Dash: "-"

  3. Einer der Strings "PLAIN", "BOLD", "ITALIC", "BOLDITALIC"

  4. Ein einzelner Dash: "-"

  5. Die Schriftgrösse als Integerwert, z.B. "12", "28"

Das Parsen eines solchen Schriftnamens wird auch einige Abweichungen von diesem Muster erlauben (welches in der Dokumentation für die Methode java.awt.Font.decode() spezifiziert ist), jedoch kann dies schnell zu unerwünschten Resultaten führen.