如何在单页上使用多个地图?

时间:2011-08-03 09:16:12

标签: ruby-on-rails ruby ruby-on-rails-3 google-maps gmaps4rails

我想在单页上使用多个地图。 这是。

# example.html.erb
<%= gmaps4rails(@json1) %>
<%= gmaps4rails(@json2) %>

地图无法显示,所有地图都白了...... 如果有人知道解决方案,请帮忙。

感谢。

2 个答案:

答案 0 :(得分:4)

如何做到这一点有了一些改进。

现在更像是这样:

<%= gmaps(:markers     => {:data => @json1 },
          :map_options => { :auto_adjust => true },
          :last_map    => false) %>
<%= gmaps(:markers     => @json2 },
          :map_options => { :id => "second_map", :center_on_user => true, :zoom => 5 },
          :scripts     => :none ) %>

查看https://github.com/apneadiving/Google-Maps-for-Rails/wiki/%28Multiple%29-Maps

答案 1 :(得分:1)

编辑:

v1.0.0开始,在同一页面see wiki上添加多个地图非常简单。


这不是很直接,因为我不需要这个,但它可以很容易地完成。

first map here, it triggers the load of the necessary js files.
<%= gmaps4rails (@json1) %>

/the empty divs for second map (beware to provide the proper css)
<div id="second_container"> 
  <div id="second_map"></div>
</div>

<% content_for :scripts do %>
<script>

var counter = 0;

Gmaps4Rails.callback = function() {
  if (counter == 0){
    counter += 1;
    <%=   { "map_options" => {  
                          "container_id" => "second_container", "id" => "second_map",
                          "type" => "SATELLITE", "center_longitude" => 180, "zoom" => 3, "auto_adjust" => true 
                          },
            "markers"     => { "data" => @json2 }
          }.to_gmaps4rails(true).html_safe
    %>
   }
};
<script>
<% end %>