2

OpenLayers.Marker() によって作成されたマーカーをクリックして、別のリンクにリダイレクトできるようにする方法はありますか。

私が試してみました

var marker = new OpenLayers.Marker(position, icon.clone());

marker.events.register("click", map, function(e) {
   location.href = "http:www.google.com"
});

そうすることで、マーカーをクリックして www.google.com にリダイレクトするときにクリック イベントを発生させることができます。しかし、私が知りたいのは、最初にマーカーを作成するときに、URL をマーカーに直接設定できるかということです。

4

1 に答える 1

5

次のように、任意のプロパティをマーカーに追加できるはずです。

marker.URL = "http://www.google.com/";

次に、イベント ハンドラーを次のように 1 回記述することができます。

function linkHandler(e) {
    location.href = this.URL;
}

marker.events.register("click", marker, linkHandler);

marker.events.register 呼び出しの「map」パラメータが「marker」に変更されたことに注意してください。

于 2012-06-19T03:44:11.127 に答える