Inhaltsverzeichnis
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:
ArcGIS
BingMaps
CacheFile
CacheMemory
GoogleMaps
Offline
OpenStreetMap
WebMapService
YandexMaps
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.
Tabelle 3.1. Die Properties für die generellen Einstellungen
Property-Name | Wert-Typ | Default-Wert | Beschreibung |
---|---|---|---|
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-Name | Wert-Typ | Default-Wert | Beschreibung |
---|---|---|---|
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 name | Value type | Default value | Description |
---|---|---|---|
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-Name | Wert-Typ | Default-Wert | Beschreibung |
---|---|---|---|
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:
Der Name der Schrift, z.B. "Arial", "Courier", "Serif", "Dialog", etc.
Ein einzelner Dash: "-"
Einer der Strings "PLAIN", "BOLD", "ITALIC", "BOLDITALIC"
Ein einzelner Dash: "-"
Die Schriftgrösse als Integerwert, z.B. "12", "28"
java.awt.Font.decode()
spezifiziert ist), jedoch kann dies schnell zu unerwünschten Resultaten führen.