0

我正在使用 Ruby on Rails 重建一个站点,并考虑使用出色的Google-Maps-for-Rails gem。

gem 可以选择为所有标记生成自定义链接列表,如下所示:

<ul id="markers_list">
 <li>
  <a href="javascript:void(0);">Marker A</a>
 </li>
 <li>
  <a href="javascript:void(0);">Marker B</a>
 </li>
</ul>

但是,我需要添加其他内容,因此我需要为每个标记生成以下链接,而不是只显示链接列表

<ul id="marker_a">
  <li><h3>Marker A</h3></li>
  <li>Details about Marker A</li>
  <li>
    <a href="javascript:void(0);">Show Marker A on Map</a>
  </li>
</ul>

任何人都可以建议解决这个问题的最佳方法吗?

4

1 回答 1

1

我已经分叉了该项目,以便为每个标记启用独立链接。看看https://github.com/noddy/Google-Maps-for-Rails

在您的模型中(在此示例中使用 Location),您需要添加额外的方法:

class Location < ActiveRecord::Base
 def gmaps4rails_link
   id.to_s
 end

 def gmaps4rails_link_text
   "Show #{name} on Map"
 end
end

然后在您的视图中(在此处使用 HAML),您可以添加以下内容:

- @locations.each do |location|
  %ul
    %li
      %h2
        = location.name
    %li{:id => "map_link_" + location.id.to_s}

然后使用正确调用 gmaps4rails

 <%= gmaps("markers" => {"data" => @json, "options" => {"link_container" => "map_link_" } }) %>
于 2011-07-08T10:54:13.550 回答