Openlayers zIndex用于标记和向量

时间:2011-10-28 09:01:32

标签: 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 );

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

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

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

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

设置zIndex只是被脚本忽略了,不知道为什么?

1 个答案:

答案 0 :(得分:19)

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

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

它的工作正常:)