2011-10-28 12 views
7

Sto visualizzando la mappa con OSM e ho qualche problema serio con l'impostazione di zIndex per gli elementi della pagina.Openlayer zIndex per marcatori e vettori

parte di JS assomiglia a questo:

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); 

Ora, mentre l'analisi del file KML per primo elemento mi impostato

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

Lo stesso vale per l'ultimo elem. :

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

Impostazione zIndex viene semplicemente ignorato dallo script, qualche idea del perché?

+1

Se qualcuno è intrested, è necessario specificare zIndex dopo l'aggiunta di strati di mappa map.addLayers ([userRoute, marker]); markers.setZIndex (1001 \t); userRoute.setZIndex (1000); e funziona bene :) – kamil

+0

Grande che hai trovato la soluzione. :-) Mettilo come risposta e contrassegnalo come soluzione per altri per vedere facilmente che è risolto. –

+0

non potevo farlo prima perché non posso rispondere alle nostre domande per 8 ore;) – kamil

risposta

18

Se qualcuno è intrested, è necessario specificare zIndex dopo l'aggiunta di strati di mappare

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

e funziona bene :)

+0

Come hai detto "devi specificare zIndex dopo aver aggiunto i livelli per mappare" ha fatto il trucco! Grazie! – wondie