Maps Widget - Eigenschaften und Funktionen
Diese Seite beschreibt die Maps Widget-spezifischen Eigenschaften und bietet eine Liste der verfügbaren Funktionen.
Eigenschaften
Folgende Eigenschaften sind für das Maps Widget verfügbar und können sowohl innerhalb des GEDIs als auch in Control gelesen/gesetzt werden.
animationsEnabled (bool)
Legt fest wie neue sichtbare Sektionen der Karte angezeigt werden:
false
= Die neue Sektion wird sofort angezeigt.true
= Eine Animation bewegt die momentane Ansicht fließend in die neue Ansicht.
distance (float)
Abstand des Sichtpunktes zur Oberfläche in Meter. Je höher der Abstand desto mehr Übersicht über die Map ist verfügbar. Weniger Abstand kann für die Anzeige von Kartendetails verwendet werden.
projection (string)
Die Art der Projektion die verwendet wird, um den 3D Globus auf einem 2D Schirm abzubilden. Folgende Projektionen stehen zur Verfügung:
- Spherical (default)
- Equirectangular
- Mercator
- Gnomonic
- Stereographic
- LambertAzimuthal
- AzimuthalEquidistant
- VerticalPerspective
latitude (float)
Der Breitengrad des Zentrums des momentan sichtbaren Bereichs in Grad (Positiv: Nördlich des Äquators, Negativ: Südlich des Äquators).
longitude (float)
Der Längengrad des Zentrums des momentan sichtbaren Bereichs in Grad (Positiv: Östlich von Greenwich, Negativ: Westlich von Greenwich)
persistentTileCacheLimit (uint)
Maximale Größe des persistenten Tile Caches (Tiles welche auf der Festplatte gespeichert werden) in Kilobytes. Bitte beachten Sie ebenfalls die Hinweise und Einschränkungen des Map Widgets.
Der persistente Tile Cache findet sich unter:
Windows: C:\Users\<user>\AppData\Local\.marble\data\maps\earth\openstreetmap
Linux: /home/<user>/.local/share/marble/maps/openstreetmap
renderPlugins (&dyn_string)
Liefert eine Liste der Namen der verfügbaren Plugins innerhalb des Maps Widgets.
showCrosshairs (bool)
Legt fest ob ein Fadenkreuz Symbol an der momentanen Position angezeigt wird.
showGrid (bool)
Legt fest ob das Koordinatennetz innerhalb der Karte angezeigt wird. Das Netz wird automatisch an das Zoomlevel der Karte angepasst und Längen- und Breitengrad für die Netzlinien angezeigt.
showOverviewmap (bool)
Legt fest ob die Übersichtskarte angezeigt werden soll.
showScalebar (bool)
Legt fest ob die Skala innerhalb der Karte angezeigt werden soll.
mapThemeId (string)
Erlaubt die Auswahl, welches der vordefinierten Map Themes angezeigt werden soll. Folgende Themes werden standardmäßig innerhalb des Maps Widgets bereitgestellt und befinden sich innerhalb des Ordners "data/marble/maps" der Version:
- Earth at Night (earth/citylights/citylights.dgml)
- Empty Map (Wird als Basis für Offline-Karten herangezogen) (earth/empty/empty.dgml)
- OpenStreetMap (earth/openstreetmap/openstreetmap.dgml)
- OpenTopoMap (earth/opentopomap/opentopomap.dgml)
- Plain Map (cities, borders, rivers etc.) (earth/plain/plain.dgml)
- Satellite View (earth/bluemarble/bluemarble.dgml)
- WMS Example (earth/wmsexample/wmsexample.dgml)
Zusätzliche Themes können manuell innerhalb des Widgets hinzugefügt werden, siehe Konfiguration - Map Themes.
Die Themes müssen mittels des Pfades zur jeweiligen .dgml-Datei des Themes entweder relativ zum "data/maps/maps/" Ordners des Projektes oder dem Ordner "data/marble/maps/" der Version angegeben werden.
Bitte beachten Sie, dass zusätzliche Ordner innerhalb der Version vorhanden sind, z.B. "clouds" oder "humanitarian", welche nicht als Map Theme verwendet werden können, sondern nur intern durch andere Themes referenziert werden.
Ebenfalls muss für den Download des Kartenmaterials die Eigenschaft workOffline (siehe unterhalb) auf false gesetzt werden.
volatileTileCacheLimit (uint)
Maximale Größe des volatilen Tile Caches (Tiles, welche innerhalb des Speichers gehalten werden) in Kilobytes. Bitte beachten Sie ebenfalls die Hinweise und Einschränkungen des Map Widgets.
workOffline (bool)
Legt fest ob das Maps Widget versucht auf online Daten (false) zuzugreifen oder nur lokal verfügbare Inhalte angezeigt werden (true; default). Bei der Arbeit im Offline-Modus sind folgende Daten verfügbar:
- Kartenmaterial, welches unter <product>/data/marble abgelegt wurde. Dies beinhaltet auch die physikalische und leere Karten in der höchsten Zoomstufe der anderen Map Themes.
- Kartenmaterial, welches innerhalb des Tile Caches abgelegt wurde. Der Tile Cache wird während des Online-Betriebs gefüllt und die erforderlichen Daten des Map Themes bis zu einem definierten Limit heruntergeladen. Anschließend stehen die Daten auch offline zur Verfügung.
- Kartenmaterial, welches mittels addGeoDataFile() verfügbar gemacht wurde.
zoomStep (int)
Ermöglicht die benutzerdefinierte Einstellung des Faktors, um den durch Aufruf der Methode zoom() gezoomt wird.
Funktionen
Folgende Funktionen stehen für das Maps Widget zur Verfügung:
- addEmptyLayer()
- addGeoDataFile()
- addLine()
- addPlacemark()
- addPointToLine()
- addPolygon()
- addSymbol()
- appendPolygonInnerBoundaries()
- centerOn()
- centerOnBox()
- centerOnHome()
- centerOnLine()
- centerOnPlacemark()
- centerOnPolygon()
- centerOnSymbol()
- clearLayer()
- getLayerClickEnabled()
- getLayerFromName()
- getLayerName()
- getLayers()
- getLineColor()
- getLinePoints()
- getLines()
- getLineType()
- getLineWidth()
- getMapCoordinates()
- getPluginData()
- getPolygonColor()
- getPolygonFillPattern()
- getPolygonInnerBoundaries()
- getPolygonLineType()
- getPolygonLineWidth()
- getPolygonOuterBoundaries()
- getPolygons()
- getScreenCoordinates()
- getVisibleBox()
- hideLayer()
- isLayerVisible()
- isPositionVisible()
- latLonToString()
- layerExists()
- lineExists()
- moveLayerToTop()
- pan()
- polygonExists()
- removeGeoDataFile()
- removeLayer()
- removeLine()
- removePlacemark()
- removePolygon()
- removeSymbol()
- setHome()
- setLayerClickEnabled()
- setLayerVisibleRange()
- setLineColor()
- setLineType()
- setLineWidth()
- setPluginData()
- setPolygonColor()
- setPolygonFillPattern()
- setPolygonLineType()
- setPolygonLineWidth()
- setPolygonOuterBoundaries()
- showLayer()
- stringToLatLon()
- zoom()
Ereignisse
Folgende Widget-spezifische Ereignisse stehen zur Verfügung:
clicked(float lat, float lon bool pan)
Das Event wird beim Loslassen der linken Maustaste auf dem Widget ausgelöst, es wird also sowohl beim Klicken als auch durch das Verschieben der Karte mittels Maus ausgelöst. Es liefert die Koordinaten der geklickten Position und ein Bit, das anzeigt ob das Event durch Verschieben der Karte ausgelöst wurde.
clicked(float lat, float lon, bool pan)
{
if (pan)
DebugTN("panned at lat " + lat + " lon " + lon);
else
DebugTN("clicked at lat " + lat + " lon " + lon);
}
geoDataFileAdded(string fileName)
Das Ereignis wird ausgelöst, wenn ein geoDataFile mittels der Funktion addGeoDataFile() geladen wurde und liefert den Dateinamen der geladenen Datei.
geoDataFileAdded(string fileName)
{
DebugTN("geoDataFile has been added: " + fileName);
}
visibleBoxChanged(float north, float south, float east, float west)
Das Ereignis wird ausgelöst sobald sich der sichtbare Kartenbereich verändert. Die Parameter geben die neuen Randkoordinaten an, siehe getVisibleBox(). Das Ereignis wird bereits während des Verschiebens des sichtbaren Kartenbereichs mehrmals ausgelöst, sodass immer die aktuellen Koordinaten zurückgegeben werden.
visibleBoxChanged(float north, float south, float east, float west)
{
DebugTN("visible box was moved to: ", north, south, east, west);
}
lineClicked(int layerId, int lineId)
Das Ereignis wird ausgelöst, wenn eine Linie (hinzugefügt durch addLine()) der Karte mittels linker Maustaste geklickt wird. Es wird nur für die oberste Linie ausgelöst, falls mehrere übereinander liegen.
lineClicked(int layerId, int lineId)
{
DebugTN("Line was clicked", layerId, lineId);
}
polygonClicked(int layerId, int polygonId)
Das Ereignis wird ausgelöst, wenn ein Polygon (hinzugefügt durch addPolygon()) der Karte mittels linker Maustaste geklickt wird. Es wird nur für das oberste Polygon ausgelöst, falls mehrere übereinander liegen.
polygonClicked(int layerId, int polygonId)
{
DebugTN("Polygon was clicked", layerId, polygonId);
}