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

3
我有一个包含两个矢量图层的OpenLayers地图。它们都包含标记。
使用以下链接的帮助,我设法在两个图层上得到选中处理程序。 http://openlayers.org/dev/examples/select-feature-multilayer.html 此选择处理程序对两个图层上的标记触发相同的函数。 但我如何区分所选位置位于哪一层?
1个回答

4
在OpenLayers中,处理程序事件会在单个视口或地图画布上触发。因此,您应该将事件(要素选择和要素取消选择)附加到每个图层上。如果您遵循示例页面中的代码,就会非常清晰,他们使用相同的事件但不同的位置,您可以更改自己的代码。请注意保留HTML标记。
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");
            }
        });

对于向量2,同一事件会被附加。如果您想知道该要素位于哪个图层中,请参考上面的代码。


这正是我正在寻找的。非常感谢!你知道吗,这个在OpenLayers文档中有记录吗? - madc
1
确实,查看http://dev.openlayers.org/docs/files/OpenLayers/Events-js.html#OpenLayers.Events.on - Myra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接