gmaps4rails 单标记自动缩放 [英] gmaps4rails single marker auto zoom

查看:41
本文介绍了gmaps4rails 单标记自动缩放的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试按照答案这里 在地图上显示单个标记时缩小一点(默认情况下).我已经尝试了下面的代码,并生成了一个工作地图,但更改 setZoom 没有效果.此外,我收到来自萤火虫的以下错误(代码下方).

I am trying to follow the answer here to zoom out a bit (by default) when a single marker is displayed on the map. I have tried the code below, and have a working map generating, but changing setZoom has no effect. Also, I receive the following error from firebug (below code).

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

推荐答案

好的,自从我发布你引用的答案后,界面发生了很大变化.

Ok, the interface changed a lot since I posted the answer you quote.

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

这篇关于gmaps4rails 单标记自动缩放的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆