Openlayers:不同矢量图层上的标记

时间:2011-10-18 14:47:06

标签: javascript vector openlayers marker

我有一个带有两个矢量图层的OpenLayers地图。它们都包含标记。

借助以下链接,我设法在两个图层上获得了一个选择处理程序。 http://openlayers.org/dev/examples/select-feature-multilayer.html

此select-handler会在两个图层上为标记激发相同的函数。 但是,我如何区分选定的图层?

1 个答案:

答案 0 :(得分:4)

在OpenLayers中,处理程序事件在单个视口或地图画布上触发。因此,您应该在每个图层上附加事件(特征选择和特征取消选择)。如果您按照代码进行操作,在示例页面中,它们是如此清晰以至于使用它们同一事件,但不同的地方,你可以改变自己的代码。

vectors1.events.on({
            "featureselected": function(e) {
                showStatus("selected feature "+e.feature.id+" on Vector Layer 1");
            },
            "featureunselected": function(e) {
                showStatus("unselected feature "+e.feature.id+" on Vector Layer 1");
            }
        });

对于vectors2,附加了相同的事件。如果您正在寻找放置该功能的图层,则上面的代码就这样说了。