我有这张 map ,我在上面显示了一些红色标记,每当从列表中选择一个位置时,当前标记就会涂成蓝色并且 map 以它为中心.
我通过 2 层来实现这一点 - 一层用于在开始时绘制的红色标记,另一层在从列表中选择一个点时重新绘制。
我想定义红色标记层总是出现在蓝色标记层之上。有效隐藏“当前标记”指示。 (这个原因很复杂)
This link是一个以我不想要的方式工作的页面。蓝色层位于红色层之上。
我试图通过为矢量和 layers.addFeature
函数定义 graphicZIndex
属性来颠倒顺序。
我显然做错了什么,也许有人可以指出错误的原因。 我定义 z 轴的方式:
currentPointLayer = new OpenLayers.Layer.Vector("Selected Point Layer", {
style : {
externalGraphic : 'marker-blue.png',
graphicHeight : 15,
graphicWidth : 15,
graphicZIndex : 1
},
rendererOptions: { zIndexing: true }
});
再次,我想将蓝色标记隐藏在红色标记层后面。
最佳答案
您可以按照 ilia choly 所述更改图层的顺序。
或者,如果您想使用 zIndexing,则必须将所有功能放入一层,因为 zIndexing 仅在一个层内完成。
看看this simple example关于样式,它也使用 zIndexing。它在 map 上随机创建一些点。如果缩小,两个圆圈很可能会重叠,如果您将鼠标悬停在一个圆圈上,它将突出显示并放在最上面。
关于javascript - 在 OpenLayers 中,让一层保持在另一层之上。 (Z 轴),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6941276/