如何在一张静态地图上有多个标记?

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)

我如何循环遍历这个,以便所有标记都显示在一张地图上,而不是每个经度/纬度的地图上?

如有任何建议,我们将不胜感激,请让我知道我需要包含哪些进一步信息。

Mat*_* P. 5

它单独显示每个地图,因为您为每个标记打印图像。您想要的是一个 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)