3

当地图上显示单个标记时,我试图按照此处的答案缩小一点(默认情况下)。我已经尝试了下面的代码,并且生成了一个工作地图,但是更改 setZoom 没有效果。另外,我从萤火虫收到以下错误(下面的代码)。

<%= gmaps("markers" => {"data" => @json, "options" => {"auto_zoom" => false} }) %>

<% content_for :scripts do %>
    <script type="text/javascript" charset="utf-8">
      function gmaps4rails_callback() {
        if (Gmaps4Rails.markers.length == 1) {
         //only one marker, choose the zoom level you expect
         Gmaps4Rails.map.setZoom(5);
        }
        else{
         //more than one marker, let's auto_zoom
         Gmaps4Rails.map_options.auto_zoom = true;
         Gmaps4Rails.adjust_map_to_bounds();
        }
      }
    </script>
<% end %>

唯一的错误说:

TypeError: Yc is not a function
[Break On This Error]   

...=b}Rf[F].Fa=xk(7,Yc("f"));me[F].cb=xk(3,function(a){var b;if(b=a.ca[ec]()?j:a.ca...
4

1 回答 1

6

好的,自从我发布您引用的答案以来,界面发生了很大变化。

<%= gmaps("markers" => {"data" => @json, "options" => {"auto_zoom" => false} }) %>

<% content_for :scripts do %>
    <script type="text/javascript" charset="utf-8">
      Gmaps.map.callback = function() {
        if (Gmaps.map.markers.length == 1) {
         //only one marker, choose the zoom level you expect
         setTimeout(function() { Gmaps.map.serviceObject.setZoom(5);}, 50);
        }
        else{
         //more than one marker, let's auto_zoom
         Gmaps.map.map_options.auto_zoom = true;
         Gmaps.map.adjustMapToBounds();
        }
      }
    </script>
<% end %>
于 2012-09-30T19:22:45.720 回答