Open Layers (v2.12)を使用しており、 SelectFeatureを使用しようとしています。
私は物事を機能させることができましたが、興味深い動作で、「オーバー」コールバックが 2 回トリガーされるようです。ユーザーがポリゴンの上にカーソルを置いたときにツールチップを表示したいので、これは良くありません。コードをそのまま使用すると、ツールチップが 2 回追加され、せいぜいちらつきます。
更新:「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();
これを機能させるには、マップとベクター レイヤーを作成する必要があります。これは、誰かが本当にすべてを必要とする場合に追加できます。
要約すると、「オーバー」コールバックが複数回トリガーされないようにする方法を考え出す必要があります。
助けてくれてありがとう。