Openlayers zIndex用于标记和向量

kam*_*mil 7 javascript openlayers

我正在使用OSM渲染地图,我在为页面元素设置zIndex时遇到了一些严重的问题.

JS的一部分看起来像这样:

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 );
Run Code Online (Sandbox Code Playgroud)

现在在为我设置的第一个元素解析KML文件时

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

最后一个元素也是如此.:

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

设置zIndex只是被脚本忽略,任何想法为什么?

kam*_*mil 19

如果有人有兴趣,您需要在添加图层后指定zIndex

map.addLayers( [userRoute, markers] ); 
markers.setZIndex( 1001 ); 
userRoute.setZIndex( 1000 ); 
Run Code Online (Sandbox Code Playgroud)

它工作得很好:)