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/";

然后您的事件处理程序可以像这样编写一次:

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

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

请注意,marker.events.register 调用中的“map”参数已更改为“marker”。

于 2012-06-19T03:44:11.127 回答