OpenLayers是否支持标记图层的y排序?

时间:2015-01-21 20:46:30

标签: javascript openlayers

我正在使用标记层的OpenLayers地图,我需要确保标记正确重叠,y轴上的标记出现在较高标记之上。我假设我可以使用y顺序轻松完成此操作,如下所示:

http://dev.openlayers.org/examples/ordering.html

但是,传递rendererOptions: { yOrdering: true }似乎不起作用,示例显示它应用于Vector层而不是Marker层。我是否必须将我的标记图层转换为矢量图层才能获得y顺序的好处,还是有另一种方法可以使它工作?

1 个答案:

答案 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;
}

如果添加了标记,则必须重做此过程。