Renderização de Camadas de Mapa
O mapa do OsmAnd é renderizado por camadas de baixo para cima. Algumas camadas cobrem a tela inteira do mapa, enquanto outras são renderizadas com transparência. A ordem das camadas é sempre a mesma, por isso é importante acompanhar o que é exibido e em que ordem.
Ordem das Camadas
O OsmAnd usa três tipos de camadas: raster, símbolos e controles. Primeiro, as camadas raster são renderizadas em OpenGL, seguidas pelas camadas de símbolos. As camadas de controle são renderizadas independentemente do OpenGL na interface do usuário de dispositivos Android ou iOS, sobre o mapa.
Android:
A maioria das camadas no Android são instanciadas no método createLayers
da classe MapLayers
.
A ordem de cada camada depende de sua propriedade zOrder
durante a instanciação e é definida no método getBaseOrder
da classe OsmAndMapLayer
.
Outras camadas podem ser instanciadas em plugins.
iOS:
A maioria das camadas no iOS são instanciadas no método createLayers
de OAMapLayers
.
A ordem de cada camada é definida diretamente pela propriedade baseOrder
em createLayers
.
Outras camadas podem ser instanciadas em plugins.
Tabelas de Ordem do Android
Android. Camadas raster
Camada | Ordem/Intervalo | Tipo | Descrição |
---|---|---|---|
MapTileLayer (camada inferior) | -50 000 | Mapa | Camadas raster inferiores |
MapTileLayer (camada principal) | 5 000 | Mapa | Camadas raster do mapa |
ContourLinesLayer | 6 000 | Mapa | Não possui sua própria classe de camada; gerenciada pela MapTileLayer principal |
TerrainLayer | 60 000 | Mapa | Hillshade e declive |
MapTileLayer (camada superior) | 70 000 | Mapa | Camadas raster superiores |
Android. Camadas de símbolos
Camada / símbolos | Ordem/Intervalo | Tipo | Descrição |
---|---|---|---|
DownloadedRegionsLayer | -1 100 000 | Polígonos | Mostra regiões baixadas |
Ícones (MapVectorLayer) | -1 000 000 | Pontos | Mapa vetorial, iconOrder no estilo com adição de 1 000 000 |
GPXLayer (linhas) | -500 000 | Linhas | Linhas de trilha |
RouteLayer (ponto de destaque do gráfico) | -197 900 | Ponto | Análise de rota de navegação no mapa |
RouteLayer (pontos do eixo x do gráfico) | -198 000 | Pontos | Análise de rota de navegação no mapa |
RouteLayer (setas de curva) | -199 000 | Linhas | Rota de navegação |
RouteLayer | -200 000 | Linhas | Rota de navegação |
Texto (MapVectorLayer) | 1 - 255 | Texto | Mapa vetorial, textOrder no estilo, 100 por padrão |
Escudos (MapVectorLayer) | 1 - 255 | Escudos | Mapa vetorial, textOrder no estilo para escudos, 100 por padrão |
Início e fim da trilha GPX | 90 101 | Pontos | GPXLayer |
Ponto de passagem da trilha GPX | 90 300 | Pontos | GPXLayer |
GPXLayer (nome do wpt) | 90 300 | Texto | Nome dos pontos de passagem |
Ícone do gráfico da trilha GPX | 90 500 | Pontos | GPXLayer |
Ícone selecionado da trilha GPX | 90 600 | Pontos | GPXLayer |
Notas OSM (OsmBugsLayer) | 200 000 | Pontos | Notas OSM |
Ícone de correção (OsmBugsLayer) | 200 000 | Pontos | Ícones de correção OSM |
Texto de correção (OsmBugsLayer) | 200 000 | Texto | Texto de correção OSM |
POIMapLayer (ícone) | 300 000 | Pontos | Sobreposição de POI |
POIMapLayer (nome) | 300 000 | Texto | Nome da sobreposição de POI |
AudioNotesLayer | 350 000 | Pontos | Plugin de notas de áudio/vídeo |
OsmEditsLayer | 350 000 | Pontos | Plugin de edição OSM |
FavoritesLayer | 400 000 | Pontos | Sobreposição de favoritos |
TransportStopsLayer | 500 000 | Linhas | Linhas de transporte público |
TransportStopsLayer | 500 001 | Pontos | Paradas de transporte público |
MapTextLayer | 595 000 | Texto | Texto para diferentes camadas, renderização de tela |
PointLocationLayer | 600 000 | Pontos | Minha localização |
PointNavigationLayer | 700 000 | Pontos | Pontos de início/fim na navegação |
PointNavigationLayer | 700 600 | Pontos | Ponto selecionado na navegação |
MapMarkersLayer (linha) | 729 999 | Linhas | Linha tracejada para marcadores de mapa |
MapMarkersLayer (texto) | 730 000 | Texto | Texto na linha. Renderização de tela |
MapMarkersLayer (marcadores) | 730 000 | Pontos | Marcadores de mapa |
ImpassableRoadsLayer | 750 000 | Pontos | Evitar estradas |
ContextMenuLayer | 800 000 | Pontos | Pino do menu de contexto |
MapillaryVectorLayer (linhas) | 1 000 000 | Linhas | Linhas Mapillary entre pontos |
MapillaryVectorLayer (pontos) | 1 000 000 | Pontos | Pontos Mapillary |
Android. Camadas de controle
Camada de controle | Ordem/Intervalo | Descrição |
---|---|---|
PreviewRouteLineLayer | 150 000 | Opções de rota de visualização |
MeasurementToolLayer | 460 000 | |
RadiusRulerControlLayer | 780 000 | Régua de raio |
DistanceRulerControlLayer | 790 000 | Régua de distância |
MapInfoLayer | 900 000 | Widgets |
MapControlsLayer | 1 100 000 | |
MapQuickActionLayer | 1 200 000 |
Tabelas de Ordem do iOS
iOS. Camadas raster
Camada | Índice da camada | Descrição |
---|---|---|
OAUnderlayMapLayer | -5 | Camadas raster inferiores |
Camada raster (MapRasterLayerProvider) | 0 | Camadas raster do mapa |
OATerrainMapLayer | 4 | Linhas de contorno, hillshade e declive |
OAOverlayMapLayer | 5 | Camadas raster superiores |
OAMapillaryLayer | 10 | Camada Mapillary |
OAWeatherRasterLayer | 20 | Clima |
OAWeatherRasterLayer | 25 | Clima |
OAWeatherContourLayer | 30 | Clima |
iOS. Camadas de símbolos
Camada / símbolos | Ordem/Intervalo | Tipo | Descrição |
---|---|---|---|
Ícones | -1 000 000 | Pontos | Mapa vetorial, iconOrder no estilo com adição de 1 000 000 |
Texto | 1 - 255 | Texto | Mapa vetorial, textOrder no estilo, 100 por padrão |
Escudos | 1 - 255 | Escudos | Mapa vetorial, textOrder no estilo para escudos, 100 por padrão |
OADownloadedRegionsLayer | 10 000 | Polígonos | Mostra regiões verdes baixadas |
Ícone POI (OAPOILayer) | 90 000 | Pontos | Sobreposição de POI |
Nome POI (OAPOILayer) | 90 000 | Texto | Nome da sobreposição de POI |
Linhas de trilha GPX (OAGPXLayer) | 100 000 | Linhas | Linhas de trilha |
Nome do ponto de passagem GPX | 100 000 | Texto | Nome dos pontos de passagem GPX |
Ícone do ponto de passagem GPX | 100 003 | Pontos | Pontos de passagem GPX |
Início e fim da trilha GPX | 120 000 | Pontos | OAGPXLayer |
Notas OSM (OAOsmBugsLayer) | 120 000 | Texto | Notas OSM |
Texto de correção (OAOsmBugsLayer) | 120 000 | Texto | Texto de correção OSM |
Ícone de correção (OAOsmBugsLayer) | 120 000 | Pontos | Ícone de correção OSM |
OAOsmEditsLayer | 120 000 | Pontos | Plugin de edição OSM |
OAPreviewRouteLineLayer | 120 000 | Linhas | Opções de rota de visualização |
OATransportStopsLayer (linhas) | 120 000 | Linhas | Linhas de transporte público |
OATransportStopsLayer (ícones) | 121 000 | Pontos | Paradas de transporte público |
OARouteLayer | 150 000 | Linhas | Rota de navegação |
OAFavoritesLayer | 160 000 | Pontos | Sobreposição de favoritos |
Evitar estradas (OAImpassableRoadsLayer) | 205 998 | Pontos | Evitar estradas |
Minha localização (OAMyPositionLayer) | 206 001 | Pontos | Minha localização |
Marcadores de mapa (OADestinationsLayer) | 207 000 | Pontos | Marcadores de mapa |
Marcadores de mapa (texto na linha) | 207 000 | Texto | Texto na linha para marcadores de mapa |
Navegação (pontos) | 207 015 | Pontos | OARouteLayer |
Navegação (minha localização) | 207 025 | Pontos | OARouteLayer |
Navegação (setas na rota) | 208 000 | Pontos | OARouteLayer |
OARoutePointsLayer | 209 000 | Pontos | Pontos de navegação |
iOS. Camadas de controle
Camada de controle | Ordem/Intervalo | Descrição |
---|---|---|
OAGPXRecLayer | 110 000 | Editando GPX |
OAMeasurementToolLayer | 160 000 | |
OARulerByTapControlLayer | 170 000 | Régua de distância |
OAContextMenuLayer | 210 000 |