javascript - 在 OpenLayers 中,让一层保持在另一层之上。 (Z 轴)

标签 javascript html openlayers

我有这张 map ,我在上面显示了一些红色标记,每当从列表中选择一个位置时,当前标记就会涂成蓝色并且 map 以它为中心.

我通过 2 层来实现这一点 - 一层用于在开始时绘制的红色标记,另一层在从列表中选择一个点时重新绘制。 enter image description here

我想定义红色标记层总是出现在蓝色标记层之上。有效隐藏“当前标记”指示。 (这个原因很复杂)

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/

相关文章:

javascript - 在 iFrame 中使用 JavaScript 单击表单按钮

javascript - OpenLayer 坐标系

javascript - Node.js 不同函数之间的全局变量

javascript - 使用 javascript 单击按钮

javascript - 遍历 CSS 元素宽度

angular - Openlayers map 不使用全宽

javascript - 堆叠 div 和 openlayers 矢量图层

javascript - WebdriverIO - 将下拉元素收集到数组中

javascript - 如何等待所有动画在 jQuery 中完成?

jquery - HTML5弹出框