在openlayers中更改标记的z-index
我有一个带有多个标记的图层,图标相当大,因此它们重叠。通过地图侧面的列表,用户可以选择一个标记,地图将平移(放大)。但它仍然会落后于其他制造商。 我如何获得个人制造商Z指数并设置它?我会有用得到最高使用的Z-索引,只需添加一个。 (另一种解决方案是将标记的总数添加到z-索引)在openlayers中更改标记的z-index
标记(或功能)位于myLib.features数组中。控制台不显示任何z-index类型的函数。
我找不到合适的示例或api函数。
编辑:
我发现这个例子:http://dev.openlayers.org/examples/ordering.html 我真的不明白。不知何故,创建的特征通过某种符号器获取图层给出的下一个Z-index。我不知道如何将这种静态排序变成动态排序。
试试这个:
首先,确保你使用的是OpenLayers.Layer.Vector层,而不是一个OpenLayers.Layer.Markers层。显然,标记图层是旧消息,所有新的开发都是在矢量图层中完成的。它有更多的功能。 (我自己浪费了一大堆时间,Markers层)。
然后,每个标记都需要是OpenLayers.Feature.Vector对象。构造函数有三个参数,其中第三个参数称为样式。样式是您设置图像属性,背景阴影,鼠标悬停文本和z-index(其属性名称为“graphicZIndex”)的位置。我想这就是你要找的。
添加您的 “标志”(这是Vector公司)与addFeatures功能的载体层。而忽略“选项”的说法。
我发现,例如页面过了,我感到十分困惑过。它在Vector层的构造函数中设置所有标记的样式(如果标记样式被省略,则使用默认值)而不是标记的构造函数。我认为在标记构造函数中设置标记样式更有意义。
要实时更改样式,请选取一个名为“marker”的OpenLayers.Feature.Vector标记并执行此操作。让我们称之为矢量图层“层”。
marker.style.graphicZIndex = 13;
layer.redraw();
这并没有工作,但这确实https://gis.stackexchange.com/a/80574/8280 –