我有这张地图,它在上方显示了一些红色标记,并且每当从列表中选择一个位置时,当前标记就会被涂成蓝色,并且地图会围绕它居中。

我通过两层来实现此目的-一层是在开始时绘制的红色标记,另一层是从列表中选择一个点时都会重新绘制的标记。


我想定义红色标记层将始终出现在蓝色标记层上方。有效隐藏“当前标记”指示。 (原因很复杂)

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/

10-12 12:59