use*_*345 1 google-maps ruby-on-rails google-maps-static-api
我试图在一张静态地图上有多个标记。
我正在使用geocoder gem(遵循Railscast 教程)。设法让它发挥作用。
现在,我尝试在索引页上的一张地图上循环所有标记,但它会单独显示在每个地图上。
这是索引页上的代码:
<% @locations.each do |location| %>
<%= image_tag "http://maps.google.com/maps/api/staticmap?size=450x300&sensor=false&zoom=15&markers=#{location.latitude}%2C#{location.longitude}" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我如何循环遍历这个,以便所有标记都显示在一张地图上,而不是每个经度/纬度的地图上?
如有任何建议,我们将不胜感激,请让我知道我需要包含哪些进一步信息。
它单独显示每个地图,因为您为每个标记打印图像。您想要的是一个 URL 并将&markers=#{location.latitude}%2C#{location.longitude}其添加到每个标记的末尾。
所以你的代码应该是这样的:
<% my_url = "http://maps.google.com/maps/api/staticmap?size=450x300&sensor=false&zoom=15" %>
<% @locations.each do |location| %>
<% my_url += "&markers=#{location.latitude}%2C#{location.longitude}" %>
<% end %>
<%= image_tag my_url %>
Run Code Online (Sandbox Code Playgroud)