gpt4 book ai didi

openlayers - 多次单击控件 -- 是否必须先将图层添加到 map 中才能添加控件?

转载 作者:行者123 更新时间:2023-12-01 05:34:12 25 4
gpt4 key购买 nike

此代码按原样工作正常,但它似乎取决于在添加控件之前添加到 map 的图层。总是这样还是我做错了什么?

          var highlightCtrl = new OpenLayers.Control.SelectFeature([a,b], {
hover: true,
highlightOnly: true,
renderIntent: "temporary",
eventListeners: {
featurehighlighted: make_popup,
featureunhighlighted: kill_popup
}
});

var selectControl = new OpenLayers.Control.SelectFeature([a,b,c,d], {
clickout: true,
toggle: false,
multiple: false,
hover: false
});

map.addLayer(a);
map.addLayer(b);
map.addLayer(c);
map.addLayer(d);

map.addControl(highlightCtrl);
map.addControl(selectControl);
highlightCtrl.activate();
selectControl.activate();

最佳答案

不,它不依赖于在添加控件之前添加到 map 的图层。正如您从 this example 中看到的.在将图层添加到 map 之前,您可以添加 SelectFeature 控件并激活它。

相关代码:

var selectControl = new OpenLayers.Control.SelectFeature(vectorLayer, {
hover: false,
highlightOnly: false,
toggle: false,
renderIntent: "select"
});

map.addControl(selectControl);

selectControl.activate();

map.addLayer(vectorLayer); //<-- layer added at the end

关于openlayers - 多次单击控件 -- 是否必须先将图层添加到 map 中才能添加控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9739024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com