最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Openlayers zIndex for markers and vectors - Stack Overflow

programmeradmin0浏览0评论

I'm rendering map with OSM and I have some serious problem with setting zIndex for page elements.

Part of JS looks like this:

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

Now while parsing KML file for first element I set

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

Same goes for last elem. :

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

Setting zIndex is simply ignored by script, any idea why?

I'm rendering map with OSM and I have some serious problem with setting zIndex for page elements.

Part of JS looks like this:

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

Now while parsing KML file for first element I set

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

Same goes for last elem. :

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

Setting zIndex is simply ignored by script, any idea why?

Share Improve this question edited Jan 14, 2015 at 12:21 Joel 7,5694 gold badges54 silver badges59 bronze badges asked Oct 28, 2011 at 9:01 kamilkamil 3,5221 gold badge43 silver badges64 bronze badges 3
  • 1 If anyone is intrested, you need to specify zIndex AFTER adding layers to map map.addLayers( [userRoute, markers] ); markers.setZIndex( 1001 ); userRoute.setZIndex( 1000 ); and it works just fine :) – kamil Commented Oct 28, 2011 at 12:44
  • Great that you found the solution. :-) Place it as an answer and mark it as solution for other to easily see that it's solved. – Niklas Wulff Commented Oct 31, 2011 at 11:44
  • i just couldn't do it earlier cause i cant answer own questions for 8hrs ;) – kamil Commented Oct 31, 2011 at 13:44
Add a comment  | 

1 Answer 1

Reset to default 19

If anyone is intrested, you need to specify zIndex AFTER adding layers to map

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

and it works just fine :)

发布评论

评论列表(0)

  1. 暂无评论