我正在使用标记层的OpenLayers地图,我需要确保标记正确重叠,y轴上的标记出现在较高标记之上。我假设我可以使用y顺序轻松完成此操作,如下所示:
http://dev.openlayers.org/examples/ordering.html
但是,传递rendererOptions: { yOrdering: true }
似乎不起作用,示例显示它应用于Vector层而不是Marker层。我是否必须将我的标记图层转换为矢量图层才能获得y顺序的好处,还是有另一种方法可以使它工作?
答案 0 :(得分:0)
Layer.Markers与Layer.Vector完全无关,不支持y排序。但您可以将zIndex分配给标记图标div:
markerLayer = ...
markerLayer.addMarker (...)
// y-sort markers
markerLayer.markers = markerLayer.markers.sort(function(a,b){
return b.lonlat.lat - a.lonlat.lat;
});
// assign zIndex in y-order
for (var i=0; i<markerLayer.markers.length; i++) {
markerLayer.markers[i].icon.imageDiv.style.zIndex = i;
}
如果添加了标记,则必须重做此过程。