我正在使用Open Layers (v2.12),并且正在尝试使用SelectFeature。
我已经设法让事情正常进行,但是通过一个有趣的行为,“over”回调似乎被触发了两次。这不好,因为我想在用户将鼠标悬停在多边形上时显示工具提示。如果我按原样使用我的代码,它会添加两次工具提示,这充其量看起来会闪烁。
更新:我也刚刚意识到“over”回调覆盖了“selectStyle”突出显示,这是一个问题,我现在已经删除了 over 回调,直到我得到更好的解决方案。
这是选择功能代码片段...
var selectControl = new OpenLayers.Control.SelectFeature(vectorLayer, {
hover: true,
toggle: true,
selectStyle: {
fillOpacity: 0.5,
fillColor: "#ffffff",
strokeColor: "#ffffff",
cursor: "pointer"
},
callbacks: {
click: function(event){
console.log("clicked");
},
over: function(event){
console.log("mouse over");
}
}
})
map.addControl(selectControl);
selectControl.activate();
为了让它工作,您需要创建一个地图和矢量图层,如果有人真的需要它,我可以添加它们。
所以总而言之,我需要弄清楚如何阻止“over”回调多次触发。
谢谢你的帮助。