我正在使用OSM渲染地图,我在为页面元素设置zIndex时遇到了一些严重问题.
JS的一部分看起来像这样:
var userRoute = new OpenLayers.Layer.Vector( "KML",{ sphericalMercator : true,styleMap: styleMap,rendererOptions: { zIndexing: true } } ); var markers = new OpenLayers.Layer.Markers( "Markers",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',stopFlag ) )
设置zIndex只是被脚本忽略,任何想法为什么?
解决方法
如果有人感兴趣,则需要在添加图层后指定zIndex
map.addLayers( [userRoute,markers] ); markers.setZIndex( 1001 ); userRoute.setZIndex( 1000 );
它工作得很好:)