在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”)的位置。我想这就是你要找的。

http://dev.openlayers.org/releases/OpenLayers-2.12/doc/apidocs/files/OpenLayers/Feature/Vector-js.html#OpenLayers.Feature.Vector.OpenLayers.Feature.Vector.style

添加您的 “标志”(这是Vector公司)与addFeatures功能的载体层。而忽略“选项”的说法。

http://dev.openlayers.org/releases/OpenLayers-2.12/doc/apidocs/files/OpenLayers/Layer/Vector-js.html#OpenLayers.Layer.Vector.addFeatures

我发现,例如页面过了,我感到十分困惑过。它在Vector层的构造函数中设置所有标记的样式(如果标记样式被省略,则使用默认值)而不是标记的构造函数。我认为在标记构造函数中设置标记样式更有意义。

要实时更改样式,请选取一个名为“marker”的OpenLayers.Feature.Vector标记并执行此操作。让我们称之为矢量图层“层”。

marker.style.graphicZIndex = 13; 
layer.redraw(); 
+0

这并没有工作,但这确实https://gis.stackexchange.com/a/80574/8280 –