2011-10-28 26 views
7

Estoy renderizando un mapa con OSM y tengo un serio problema con la configuración de zIndex para elementos de página.Openlayers zIndex para marcadores y vectores

Parte de JS se ve así:

var userRoute = new OpenLayers.Layer.Vector("KML", { 
    sphericalMercator : true, 
    styleMap: styleMap, 
    rendererOptions: { zIndexing: true } 
}); 

var markers = new OpenLayers.Layer.Markers("Markers", { 
    sphericalMercator : true, 
    rendererOptions: { zIndexing: true } 
}); 

markers.setZIndex(500); 
userRoute.setZIndex(200); 

Ahora al analizar el archivo KML para el primer elemento que establece

var startFlag = new OpenLayers.Icon('/start_flag_2.png', new OpenLayers.Size(23, 22)); 
markers.addMarker(new OpenLayers.Marker(latlon, startFlag)) 

Lo mismo sucede con la última elem. :

var stopFlag = new OpenLayers.Icon('/stop_flag_2.png', new OpenLayers.Size(23, 22)); 
markers.addMarker(new OpenLayers.Marker(latlon, stopFlag)) 

Configuración de zIndex es simplemente ignorado por script, ¿alguna idea de por qué?

+1

Si alguien está intrested, es necesario especificar zIndex después de añadir capas a mapa map.addLayers ([userRoute, marcadores]); markers.setZIndex (1001 \t); userRoute.setZIndex (1000); y funciona muy bien :) – kamil

+0

Excelente que haya encontrado la solución. :-) Ponlo como respuesta y márcalo como solución para que otros puedan ver fácilmente que está resuelto. –

+0

simplemente no pude hacerlo antes porque no puedo contestar mis propias preguntas durante 8 horas;) – kamil

Respuesta

18

Si alguien es intrested, es necesario especificar zIndex después de añadir capas al mapa

map.addLayers([userRoute, markers]); 
markers.setZIndex(1001); 
userRoute.setZIndex(1000); 

y funciona muy bien :)

+0

Como dijiste "necesitas especificar zIndex DESPUÉS de agregar capas al mapa", ¡el truco! ¡Gracias! – wondie