我正在使用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>
有人能提出最好的解决方法吗?
答案 0 :(得分:1)
我已经分叉了项目,为每个标记启用了一个独立的链接。看看https://github.com/noddy/Google-Maps-for-Rails
在您的模型中(在此示例中使用位置),您需要添加额外的方法:
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_" } }) %>