我有这张地图,它在上方显示了一些红色标记,并且每当从列表中选择一个位置时,当前标记就会被涂成蓝色,并且地图会围绕它居中。
我通过两层来实现此目的-一层是在开始时绘制的红色标记,另一层是从列表中选择一个点时都会重新绘制的标记。
我想定义红色标记层将始终出现在蓝色标记层上方。有效隐藏“当前标记”指示。 (原因很复杂)
This link指向的是我不希望使用的页面。蓝色层位于红色层的顶部。
我试图通过定义矢量和graphicZIndex
函数中的layers.addFeature
属性来颠倒顺序。
我显然做错了什么,也许有人可以指出我的意思。
我定义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。它在地图中随机创建一些点。如果缩小,则很有可能两个圆圈重叠,如果将鼠标悬停在一个圆圈上,它将突出显示并放在顶部。
关于javascript - 在OpenLayers中,将1层保留在另一层之上。 (Z轴),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6941276/