Gmaps4rails V2 - 更改默认缩放

时间:2013-11-12 00:51:13

标签: ruby-on-rails ruby-on-rails-4 gmaps4rails gmaps4rails2

我是一个完整的菜鸟,构建我的第一个rails应用程序。我使用youtube上的apneadiving教程成功实现了Google-maps-for-rails V2:http://www.youtube.com/watch?v=R0l-7en3dUw&feature=youtu.be

我的问题是,对于我的每张地图,我只显示一个标记,当地图加载时,它会调整为完全缩放。

搜索周围,似乎有很多早期版本的Gmaps4rails的解决方案,但是使用V2,并通过javascript创建地图,我似乎无法找到有效的解决方案。

供参考,我的代码如下:

查看:

    <script type="text/javascript">
      handler = Gmaps.build('Google');
      handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
      markers = handler.addMarkers(<%=raw @hash.to_json %>);
      handler.bounds.extendWith(markers);
      handler.fitMapToBounds();
      }); </script> 

控制器:

def show
  @pins = Pin.find(params[:id])
  @hash = Gmaps4rails.build_markers(@pins) do |pin, marker|
    marker.lat pin.latitude
    marker.lng pin.longitude
  end
end

我试图通过控制台使用:gmap.setzoom(12)进行更改,正如一些帖子所建议的那样,但是没有任何运气。

非常感谢任何帮助

对我有用的答案:将视图更改为:

  <script type="text/javascript">
  handler = Gmaps.build('Google');
  handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
  markers = handler.addMarkers(<%=raw @hash.to_json %>);
  handler.bounds.extendWith(markers);
  handler.fitMapToBounds();
  handler.getMap().setZoom(12);
  }); </script> 

感谢您的帮助!

3 个答案:

答案 0 :(得分:35)

删除:

handler.fitMapToBounds();

替换为:

handler.getMap().setZoom(yourValue);

答案 1 :(得分:0)

Just Try This,

<script type="text/javascript">
      handler = Gmaps.build('Google');
      handler.buildMap({ provider: { Zoom: 3 }, internal: {id: 'map'}}, function(){
      markers = handler.addMarkers(<%=raw @hash.to_json %>);
      handler.bounds.extendWith(markers);
      handler.fitMapToBounds();
      }); </script> 

handler.getMap().setZoom(yourValue);

它应该工作.....

答案 2 :(得分:0)

另一种选择是使用handler.map.centerOn(marker):

      handler = Gmaps.build('Google');
      handler.buildMap({
      provider: {
        draggable: false,
        Zoom: 15
      },
      internal: {
        id: 'map'
      }
    },
    function(){
      marker = handler.addMarker(
        {
          "lat": lat,
          "lng": lng,
          "picture": {
            "url": "https://addons.cdn.mozilla.net/img/uploads/addon_icons/13/13028-64.png",
            "width":  36,
            "height": 36
          },
          "infowindow": "hello!"
        }
      );
      handler.map.centerOn(marker);
    }
  );