ruby-on-rails - Openlayers 标记

标签 ruby-on-rails ruby-on-rails-3 openlayers

有没有办法单击由 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 直接设置为标记?

最佳答案

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

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

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

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

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

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

关于ruby-on-rails - Openlayers 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11093929/

相关文章:

ruby-on-rails - Rails 4 before_filter :authenticate_user! , :except => ["some function name"]

ruby-on-rails - 关联 has_many 计数超过 1 的 Rails 条件

google-maps - Openstreetmap 数据与 OpenLayers 对比谷歌地图?

ruby-on-rails - 美国国家气象局数据有 Ruby 客户端吗?

ruby-on-rails - 在 ruby​​ on Rails 中生成参数

ruby-on-rails - rails 3 : adding DISQUS gem for comments

javascript - 如何在openlayers 5中右键单击删除功能

mysql - Ruby on Rails : mysql error

ruby-on-rails - rails 中的辅助方法问题

javascript - 无法读取未定义的属性 'length'(使用地理服务器打印 map )