Eu tenho uma camada de marcador, duas camadas de vetor e duas camadas de varredura. A camada do marcador é coberta pelas duas camadas de varredura.
Existe uma maneira de mover a camada do marcador sempre por cima?
Editado: a ordem dos índices Z funciona bem na camada vetorial, mas quando adiciono outra camada raster WMS no mapa com um índice Z mais baixo, a camada raster ainda cobre a camada vetorial.
Editado: Alguém poderia apontar a diferença da ordem de renderização em termos de "LayerIndex" e "Z-Index" de uma camada? Acho que o índice da camada lida com a ordem de sobreposição e o Zindex lida com a ordem dos recursos em uma camada vetorial, estou certo?
openlayers-2
markers
Visto
fonte
fonte
Respostas:
A configuração do índice z para cada camada deve ajudar: http://www.openlayers.org/dev/examples/ordering.html
EDITADO
O exemplo ao qual originalmente vinculei não é muito útil. Você deseja definir o índice de camada / índice-z das camadas, não os criadores das camadas (como o exemplo de pedido mostrou). Eu montei um exemplo (baseado neste exemplo ) mostrando a indexação de camada personalizada. Observe que, quando você liga o Canada Raster, a camada Marcador permanece no topo.
Aqui está o código relevante:
A documentação para o código setLayerIndex está aqui: http://dev.openlayers.org/releases/OpenLayers-2.11/doc/apidocs/files/OpenLayers/Map-js.html#OpenLayers.Map.setLayerIndex
fonte
Você pode fazê-lo, se quiser que sua camada vetorial sempre cubra simplesmente com o código ...
May it be easy!
fonte
nenhuma das opções acima funcionou para mim, mas simplesmente fazer isso sempre que adiciono uma nova camada funcionava como um deleite para manter minha camada de marcador por cima:
myMarkerLayer.setZIndex (1001);
fonte
Você pode adicionar uma camada ao mapa e colocar uma nova planilha sobre as existentes. Se a nova planilha não for transparente, ela ocultará todas as que estão abaixo.
Infelizmente, o OpenLayers não possui um método insertLayerAt , portanto, é necessário reordenar suas camadas após a inserção. A solução é adicionar a camada e movê-la para baixo na pilha até a profundidade desejada ou mover a que você deseja de cima para trás.
Você pode fazer isso da seguinte maneira:
fonte