Openlayers标记

Edw*_*win 2 ruby-on-rails openlayers ruby-on-rails-3

有没有办法点击OpenLayers.Marker()创建的标记,以便能够重定向到另一个链接.

我试过了

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

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

通过这样做,当我单击标记并将我重定向到www.google.com时,我能够进行点击事件.但我有兴趣知道的是,当我首先创建标记时,我能够将URL直接设置到标记吗?

jjr*_*jrv 5

您应该能够将任何属性添加到标记中,如下所示:

marker.URL = "http://www.google.com/";
Run Code Online (Sandbox Code Playgroud)

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

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

marker.events.register("click", marker, linkHandler);
Run Code Online (Sandbox Code Playgroud)

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