Rendering von Kartenebenen
Die OsmAnd-Karte wird schichtweise von unten nach oben gerendert. Einige Ebenen bedecken den gesamten Kartenbildschirm, während andere mit Transparenz gerendert werden. Die Reihenfolge der Ebenen ist immer gleich, daher ist es wichtig, den Überblick zu behalten, was in welcher Reihenfolge angezeigt wird.
Reihenfolge der Ebenen
OsmAnd verwendet drei Arten von Ebenen: Raster, Symbole und Steuerung. Zuerst werden Rasterebenen in OpenGL gerendert, gefolgt von Symbolebenen. Steuerungsebenen werden unabhängig von OpenGL in der Benutzeroberfläche von Android- oder iOS-Geräten über der Karte gerendert.
Android:
Die meisten Ebenen auf Android werden in der Methode createLayers
der Klasse MapLayers
instanziiert.
Die Reihenfolge jeder Ebene hängt von ihrer zOrder
-Eigenschaft während der Instanziierung ab und wird in der Methode getBaseOrder
der Klasse OsmAndMapLayer
festgelegt.
Andere Ebenen können in Plugins instanziiert werden.
iOS:
Die meisten Ebenen auf iOS werden in der Methode createLayers
von OAMapLayers
instanziiert.
Die Reihenfolge jeder Ebene wird direkt durch die Eigenschaft baseOrder
in createLayers
festgelegt.
Andere Ebenen können in Plugins instanziiert werden.
Android-Reihenfolgetabellen
Android. Rasterebenen
Ebene | Reihenfolge/Bereich | Typ | Beschreibung |
---|---|---|---|
MapTileLayer (Unterlage) | -50 000 | Karte | Rasterkacheln als Unterlage |
MapTileLayer (Hauptebene) | 5 000 | Karte | Kartenrasterkacheln |
ContourLinesLayer | 6 000 | Karte | Hat keine eigene Ebenenklasse; wird von der Haupt-MapTileLayer verwaltet |
TerrainLayer | 60 000 | Karte | Schummerung und Hangneigung |
MapTileLayer (Überlagerung) | 70 000 | Karte | Rasterkacheln als Überlagerung |
Android. Symbolebenen
Ebene / Symbole | Reihenfolge/Bereich | Typ | Beschreibung |
---|---|---|---|
DownloadedRegionsLayer | -1 100 000 | Polygone | Zeigt heruntergeladene Regionen an |
Icons (MapVectorLayer) | -1 000 000 | Punkte | Vektorkarte, iconOrder im Stil mit Hinzufügen von 1 000 000 |
GPXLayer (Linien) | -500 000 | Linien | Track-Linien |
RouteLayer (Diagramm-Hervorhebungspunkt) | -197 900 | Punkt | Navigationsroutenanalyse auf der Karte |
RouteLayer (Diagramm-X-Achsenpunkte) | -198 000 | Punkte | Navigationsroutenanalyse auf der Karte |
RouteLayer (Abbiegepfeile) | -199 000 | Linien | Navigationsroute |
RouteLayer | -200 000 | Linien | Navigationsroute |
Text (MapVectorLayer) | 1 - 255 | Text | Vektorkarte, textOrder im Stil, standardmäßig 100 |
Schilde (MapVectorLayer) | 1 - 255 | Schilde | Vektorkarte, textOrder im Stil für Schilde, standardmäßig 100 |
GPX Track Start, Ende | 90 101 | Punkte | GPXLayer |
GPX Track Wegpunkt | 90 300 | Punkte | GPXLayer |
GPXLayer (Wegpunktname) | 90 300 | Text | Name der Wegpunkte |
GPX Track Diagramm-Symbol | 90 500 | Punkte | GPXLayer |
GPX Track Ausgewähltes Symbol | 90 600 | Punkte | GPXLayer |
OSM Notizen (OsmBugsLayer) | 200 000 | Punkte | OSM Notizen |
Fixme-Symbol (OsmBugsLayer) | 200 000 | Punkte | OSM Fixme-Symbole |
Fixme-Text (OsmBugsLayer) | 200 000 | Text | OSM Fixme-Text |
POIMapLayer (Symbol) | 300 000 | Punkte | POI-Überlagerung |
POIMapLayer (Name) | 300 000 | Text | Name der POI-Überlagerung |
AudioNotesLayer | 350 000 | Punkte | Audio-/Video-Notizen-Plugin |
OsmEditsLayer | 350 000 | Punkte | OSM-Bearbeitungs-Plugin |
FavoritesLayer | 400 000 | Punkte | Favoriten-Überlagerung |
TransportStopsLayer | 500 000 | Linien | Linien des öffentlichen Nahverkehrs |
TransportStopsLayer | 500 001 | Punkte | Haltestellen des öffentlichen Nahverkehrs |
MapTextLayer | 595 000 | Text | Text für verschiedene Ebenen, Canvas-Rendering |
PointLocationLayer | 600 000 | Punkte | Mein Standort |
PointNavigationLayer | 700 000 | Punkte | Start-/Endpunkte in der Navigation |
PointNavigationLayer | 700 600 | Punkte | Ausgewählter Punkt in der Navigation |
MapMarkersLayer (Linie) | 729 999 | Linien | Gestrichelte Linie zu Kartenmarkierungen |
MapMarkersLayer (Text) | 730 000 | Text | Text auf der Linie. Canvas-Rendering |
MapMarkersLayer (Markierungen) | 730 000 | Punkte | Kartenmarkierungen |
ImpassableRoadsLayer | 750 000 | Punkte | Zu vermeidende Straßen |
ContextMenuLayer | 800 000 | Punkte | Pin des Kontextmenüs |
MapillaryVectorLayer (Linien) | 1 000 000 | Linien | Mapillary-Linien zwischen Punkten |
MapillaryVectorLayer (Punkte) | 1 000 000 | Punkte | Mapillary-Punkte |
Android. Steuerungsebenen
Steuerungsebene | Reihenfolge/Bereich | Beschreibung |
---|---|---|
PreviewRouteLineLayer | 150 000 | Optionen für Routenvorschau |
MeasurementToolLayer | 460 000 | |
RadiusRulerControlLayer | 780 000 | Radiuslineal |
DistanceRulerControlLayer | 790 000 | Entfernungslineal |
MapInfoLayer | 900 000 | Widgets |
MapControlsLayer | 1 100 000 | |
MapQuickActionLayer | 1 200 000 |
iOS-Reihenfolgetabellen
iOS. Rasterebenen
Ebene | Ebenenindex | Beschreibung |
---|---|---|
OAUnderlayMapLayer | -5 | Rasterkacheln als Unterlage |
Rasterebene (MapRasterLayerProvider) | 0 | Kartenrasterkacheln |
OATerrainMapLayer | 4 | Höhenlinien, Schummerung und Hangneigung |
OAOverlayMapLayer | 5 | Rasterkacheln als Überlagerung |
OAMapillaryLayer | 10 | Mapillary-Ebene |
OAWeatherRasterLayer | 20 | Wetter |
OAWeatherRasterLayer | 25 | Wetter |
OAWeatherContourLayer | 30 | Wetter |
iOS. Symbolebenen
Ebene / Symbole | Reihenfolge/Bereich | Typ | Beschreibung |
---|---|---|---|
Icons | -1 000 000 | Punkte | Vektorkarte, iconOrder im Stil mit Hinzufügen von 1 000 000 |
Text | 1 - 255 | Text | Vektorkarte, textOrder im Stil, standardmäßig 100 |
Schilde | 1 - 255 | Schilde | Vektorkarte, textOrder im Stil für Schilde, standardmäßig 100 |
OADownloadedRegionsLayer | 10 000 | Polygone | Zeigt heruntergeladene grüne Regionen an |
POI-Symbol (OAPOILayer) | 90 000 | Punkte | POI-Überlagerung |
POI-Name (OAPOILayer) | 90 000 | Text | Name der POI-Überlagerung |
GPX Track-Linien (OAGPXLayer) | 100 000 | Linien | Track-Linien |
GPX Wegpunktname | 100 000 | Text | Namen der GPX-Wegpunkte |
GPX Wegpunkt-Symbol | 100 003 | Punkte | GPX-Wegpunkte |
GPX Track Start, Ende | 120 000 | Punkte | OAGPXLayer |
OSM Notizen (OAOsmBugsLayer) | 120 000 | Text | OSM Notizen |
Fixme-Text (OAOsmBugsLayer) | 120 000 | Text | OSM Fixme-Text |
Fixme-Symbol (OAOsmBugsLayer) | 120 000 | Punkte | OSM Fixme-Symbol |
OAOsmEditsLayer | 120 000 | Punkte | OSM-Bearbeitungs-Plugin |
OAPreviewRouteLineLayer | 120 000 | Linien | Optionen für Routenvorschau |
OATransportStopsLayer (Linien) | 120 000 | Linien | Linien des öffentlichen Nahverkehrs |
OATransportStopsLayer (Symbole) | 121 000 | Punkte | Haltestellen des öffentlichen Nahverkehrs |
OARouteLayer | 150 000 | Linien | Navigationsroute |
OAFavoritesLayer | 160 000 | Punkte | Favoriten-Überlagerung |
Zu vermeidende Straßen (OAImpassableRoadsLayer) | 205 998 | Punkte | Zu vermeidende Straßen |
Mein Standort (OAMyPositionLayer) | 206 001 | Punkte | Mein Standort |
Kartenmarkierungen (OADestinationsLayer) | 207 000 | Punkte | Kartenmarkierungen |
Kartenmarkierungen (Text auf Linie) | 207 000 | Text | Text auf der Linie zu Kartenmarkierungen |
Navigation (Punkte) | 207 015 | Punkte | OARouteLayer |
Navigation (Mein Standort) | 207 025 | Punkte | OARouteLayer |
Navigation (Pfeile auf Route) | 208 000 | Punkte | OARouteLayer |
OARoutePointsLayer | 209 000 | Punkte | Navigationspunkte |
iOS. Steuerungsebenen
Steuerungsebene | Reihenfolge/Bereich | Beschreibung |
---|---|---|
OAGPXRecLayer | 110 000 | GPX bearbeiten |
OAMeasurementToolLayer | 160 000 | |
OARulerByTapControlLayer | 170 000 | Entfernungslineal |
OAContextMenuLayer | 210 000 |