我有一个带有两个矢量图层的 OpenLayers map 。它们都包含标记。
在以下链接的帮助下,我设法在两个层上都获得了一个选择处理程序。 http://openlayers.org/dev/examples/select-feature-multilayer.html
此选择处理程序为两个图层上的标记触发相同的功能。 但是我怎么能不同,所选的位置在哪一层?
最佳答案
在 OpenLayers 中,处理程序事件在单个视口(viewport)或 map Canvas 上触发。因此,您应该在每个图层上附加事件(功能选择和功能取消选择)。如果您按照代码,在示例页面中,很清楚他们使用相同的事件,但您可以在不同的地方更改自己的代码。
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,附加了相同的事件。如果您正在寻找特征放置在哪一层,如上面的代码所述。
关于javascript - Openlayers:不同矢量图层上的标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7809199/