2011-10-28 14 views
7

Generuję mapę z OSM i mam poważny problem z ustawieniem zIndex dla elementów strony.Openlayers zIndex dla znaczników i wektorów

Część JS wygląda następująco:

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

Teraz podczas parsowania pliku KML dla pierwszego elementu ustawić

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

samo dotyczy ostatniego elem. :

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

Ustawienie zIndex jest po prostu ignorowane przez skrypt, każdy pomysł, dlaczego?

+1

Jeśli ktoś jest zainteresowany, trzeba określić zindex Po dodaniu do warstwy map map.addLayers ([userRoute, markery]); markers.setZIndex (1001 \t); userRoute.setZIndex (1000); i działa dobrze :) – kamil

+0

Wspaniale, że znalazłeś rozwiązanie. :-) Umieść go jako odpowiedź i oznacz go jako rozwiązanie dla innych, aby łatwo zobaczyć, że został rozwiązany. –

+0

Po prostu nie mogłem tego zrobić wcześniej, ponieważ nie mogę odpowiedzieć na własne pytania przez 8 godzin;) – kamil

Odpowiedz

18

Jeśli ktoś jest zainteresowany, trzeba określić zindex po dodaniu warstw map

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

i to działa dobrze :)

+0

Jak już powiedziałeś "musisz podać ZIndex PO dodawaniu warstw do mapy" zrobiłeś lewę! Dziękuję Ci! – wondie

Powiązane problemy