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

标签 javascript vector openlayers marker

我有一个带有两个矢量图层的 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/

相关文章:

javascript - Chrome 中选择模糊()的解决方案?

javascript - 在 JavaScript 中从两个数组生成对象数组

C++ std::vector<uint8> 已填充,但未显示数据

javascript - Openlayers特征选择区域偏移

c# - 当 web 服务方法抛出异常时如何获取错误消息。

c++ - 是否可以将 vector 的一部分作为 vector 发送给函数?

c++ - 为 vector<vector<>> 分配内存的捷径

javascript - 如何阻止 OpenLayers 加载 firebug lite

javascript - 设置自己的 Openlayers Proxyhost

javascript - 翻译 Angular-UI 的分页文本 AngularJS