Jer*_*oen 9 z-index markers openlayers openstreetmap
我有一个带有多个标记的图层,图标相当大,所以它们重叠.通过地图一侧的列表,用户可以选择一个标记,地图将平移(和缩放)到它.但它仍将落后于其他一些制造商.如何获得个体制造商z-index并设置它?获得最高使用的z-index并添加一个,我会很有用.(另一个解决方案是将标记的总数添加到z-index)
标记(或特征)位于myLib.features数组中.控制台不显示任何z-index类型的功能.
我无法为此找到合适的示例或api函数.
编辑:
我找到了这个例子:http://dev.openlayers.org/examples/ordering.html 我真的不明白它.不知何故,创建的特征通过某些符号化器获取图层给出的下一个z-index.我不知道如何将这种静态排序变成动态排序.
尝试这个:
首先,确保您使用的是 OpenLayers.Layer.Vector 图层,而不是 OpenLayers.Layer.Markers 图层。显然,标记层已经是旧闻了,所有新的开发都是在向量层中完成的。它有更多的功能。(我自己在标记层上浪费了很多时间)。
然后,每个标记都需要是 OpenLayers.Feature.Vector 对象。构造函数采用三个参数,其中第三个称为样式。样式是您设置图像属性、背景阴影、鼠标悬停文本和 z 索引(属性名称为“graphicZIndex”)的位置。我想这就是你要找的。
使用 addFeatures 函数将“标记”(矢量的)添加到矢量层。并且忽略“选项”参数。
我也发现了那个示例页面,我也发现它很混乱。它在矢量图层的构造函数中设置所有标记的样式(如果省略标记样式,则将使用默认值)而不是标记的构造函数。我认为在标记构造函数中设置标记样式更有意义。
要实时更改样式,请使用名为“标记”的 OpenLayers.Feature.Vector 标记之一并执行此操作。我们将矢量图层称为“层”。
marker.style.graphicZIndex = 13;
layer.redraw();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4929 次 |
| 最近记录: |