Skip to main content

Map Layers rendering

OsmAnd Map is rendered by layers from bottom to top. Some layers cover full map screen, some are rendered with transperancy but the order of layers is consistent, so it's important to keep track of what and in which order is rendered.

Order of layers​

In the OsmAnd present three types of layers: raster, symbols, controls. First in OpenGL are rendering raster layers, after are rendering symbols layers. Contrlos layers are rendering independed from OpenGL in UI of Android or iOS devices over the map.

Android. Most layers in Android are instance of in the method createLayers of MapLayers class. Order of each layer is depend from zOrder property during instance and set in the method getBaseOrderof OsmAndMapLayer class. Other layers are instance in the plugins.

iOS. Most layers in iOS are instance of in the method createLayers of OAMapLayers.
Order of each layer is set direcly by baseOrder property in createLayers. Other layers are instance in the plugins.

Android. Order tables​

Android. Raster layers​

MapTileLayer (underlay)-50 000MapRaster tiles underlay
MapTileLayer (main layer)5 000MapMap raster tiles
CountourLinesLayer6 000MapDoesn't have own layer class. Managed by main MapTileLayer
TerrainLayer60 000MapHillshade and slope
MapTileLayer (overlay)70 000MapRaster tiles overlay

Android. Symbols layers​

Layer / symbolsOrder/RangeTypeDescription
DownloadedRegionsLayer-1 100 000PolygonsShow downloaded regions
Icons (MapVectorLayer)-1 000 000PointsVector map, iconOrder in style with adding 1000 000
GPXLayer (lines)-500 000LinesTrack lines
RouteLayer (chart highlight point)-197 900PointNavigation route analysis on map
RouteLayer (chart x-axis points)-198 000PointsNavigation route analysis on map
RouteLayer (turn arrows)-199 000LinesNavigation route
RouteLayer-200 000LinesNavigation route
Text (MapVectorLayer)1 - 255TextVector map, textOrder in style, 100 by default
Shileds (MapVectorLayer)1 - 255ShieldsVector map, textOrder in style for shields, 100 by default
GPX track start, finish90 101PointsGPXLayer
GPX track waypoint90 300PointsGPXLayer
GPXLayer (wpt name)90 300TextWaypoints name
GPX track chart icon90 500PointsGPXLayer
GPX track selected icon90 600PointsGPXLayer
OSM notes (OsmBugsLayer)200 000PointsOSM notes
Fixme icon (OsmBugsLayer)200 000PointsOSM fixme icons
Fixme text (OsmBugsLayer)200 000TextOSM fixme text
POIMapLayer (icon)300 000PointsPOI overlay
POIMapLayer (name)300 000TextPOI overlay name
AudioNotesLayer350 000PointsAudio/video notes plugin
OsmEditsLayer350 000PointsOSM edit plugin
FavouritesLayer400 000PointsFavorites overlay
TransportStopsLayer500 000LinesPublic transport lines
TransportStopsLayer500 001PointsPublic transport stops
MapTextLayer595 000TextText for different layers. Canvas rendering
PointLocationLayer600 000PointsMy location
PointNavigationLayer700 000PointsStart / finish points in navigation
PointNavigationLayer700 600PointsSelected point in navigation
MapMarkersLayer (line)729 999LinesDashed line to map markers
MapMarkersLayer (text)730 000TextText on line. Canvas rendering
MapMarkersLayer (markers)730 000PointsMap markers
ImpassableRoadsLayer750 000PointsAvoid roads
ContextMenuLayer800 000PointsPin of context menu
MapillaryVectorLayer (lines)1 000 000LinesMapillary lines between points
MapillaryVectorLayer (points)1 000 000PointsMapillary points

Android. Controls layers​

Control layerOrder/RangeDescription
PreviewRouteLineLayer150 000Preview route options
MeasurementToolLayer460 000
RadiusRulerControlLayer780 000Radius ruller
DistanceRulerControlLayer790 000Distance ruller
MapInfoLayer900 000Widgets
MapControlsLayer1 100 000
MapQuickActionLayer1 200 000

iOS. Order tables​

iOS. Raster layers​

LayerLayer indexDescription
OAUnderlayMapLayer-5Raster tiles underlay
Raster layer (MapRasterLayerProvider)0Map raster tiles
OATerrainMapLayer4Contour lines, hillshade and slope
OAOverlayMapLayer5Raster tiles overlay
OAMapillaryLayer10Mapillary layer

iOS. Symbols layers​

Layer / symbolsOrder/RangeTypeDescription
Icons-1 000 000PointsVector map, iconOrder in style with adding 1 000 000
Text1 - 255TextVector map, textOrder in style, 100 by default
Shileds1 - 255ShieldsVector map, textOrder in style for shields, 100 by default
OADownloadedRegionsLayer10 000PolygonsShow downloaded green regions
POI icon (OAPOILayer)90 000PointsPOI overlay
POI name (OAPOILayer)90 000TextPOI overlay name
GPX track lines (OAGPXLayer)100 000LinesTrack lines
GPX waipoint name100 000TextGPX waypoints name
GPX waypoint icon100 003PointsGPX waypoints
GPX track start, finish120 000PointsOAGPXLayer
OSM notes (OAOsmBugsLayer)120 000TextOSM notes
Fixme text (OAOsmBugsLayer)120 000TextOSM fixme text
Fixme icon (OAOsmBugsLayer)120 000PointsOSM fixme icon
OAOsmEditsLayer120 000PointsEdit OSM plugin
OAPreviewRouteLineLayer120 000LinesPreview route options
OATransportStopsLayer (lines)120 000LinesPublic transport lines
OATransportStopsLayer (icons)121 000PointsPublic transport stops
OARouteLayer150 000LinesNavigation route
OAFavoritesLayer160 000PointsFavorites overlay
Avoid roads (OAImpassableRoadsLayer)205 998PointsAvoid roads
My location (OAMyPositionLayer)206 001PointsMy location
Map markers (OADestinationsLayer)207 000PointsMap markers
Map markers (text on line)207 000TextText on line to map markers
Navigation (points)207 015PointsOARouteLayer
Navigation (my location)207 025PointsOARouteLayer
Navigation (arrows on route)208 000PointsOARouteLayer
OARoutePointsLayer209 000PointsNavigation points

iOS. Controls layers​

Control layerOrder/RangeDescription
OAGPXRecLayer110 000Editing GPX
OAMeasurementToolLayer160 000
OARulerByTapControlLayer170 000Distance ruler
OAContextMenuLayer210 000