İşaretleyiciler ve vektörler için OpenIders zIndex

OSM ile harita oluşturuyorum ve sayfa öğeleri için zIndex'i ayarlamayla ilgili ciddi bir sorunum var.

JS'nin bir kısmı şöyle:

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

Şimdi ilk eleman için KML dosyasını ayrıştırırken

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

Aynı son elem için de geçerli. :

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

ZIndex'in ayarlanması, komut dosyası tarafından basitçe yok sayılır, neden herhangi bir fikir?

7
Herhangi biri intrested ise, map.addLayers ([userRoute, markers]) ile eşlemek için katmanlar ekleyerek zIndex AFTER belirtmeniz gerekir; markers.setZIndex (1001); userRoute.setZIndex (1000); ve sadece iyi çalışıyor :)
katma yazar kamil, kaynak
Daha önce yapamadım çünkü 8 saat boyunca kendi sorularını cevaplayamıyorum;)
katma yazar kamil, kaynak
Çözümü bulduğunuz için harika. :-) Bunu bir cevap olarak yerleştirin ve çözdüğünü kolayca görebilmek için bir çözüm olarak işaretleyin.
katma yazar Niklas Wulff, kaynak

1 cevap

Herkesin ilgisini çekerse, haritaya katman eklemeyi zIndex AFTER belirtmeniz gerekir

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

ve sadece iyi çalışıyor :)

19
katma
Sizin de belirttiğiniz gibi, "zIndex'i haritaya eklemek için katman eklemeniz gerekiyor" ifadesini kullandı! Teşekkür ederim!
katma yazar wondie, kaynak