Как использовать несколько карт на одной странице? - PullRequest
2 голосов
/ 03 августа 2011

Я хочу использовать множественную карту на одной странице.Вот.

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

Карта не может отображаться, все карты выкрашены в белый цвет ... Пожалуйста, помогите, если кто-нибудь знает решение.

Ответы [ 2 ]

4 голосов
/ 01 сентября 2011

Были сделаны некоторые улучшения в том, как это делается.

Теперь это больше похоже на:

<%= 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 голос
/ 03 августа 2011

EDIT:

Поскольку v1.0.0, добавить несколько карт на одну и ту же страницу действительно просто, см. Вики .


Это не очень прямо, так как мне это не нужно, но это можно сделать довольно легко.

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 %>
...