Gmaps4Rails默认缩放设置

时间:2015-09-29 12:18:06

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

我在将地图缩放到国家/地区时遇到问题。我的地图显示正常,但是当我第一次查看页面时,我希望默认地图用英国而不是整个世界的视图填充页面。那可能吗?感谢

users_controller

class UsersController < ApplicationController
  def index
    @users = User.all

    @hash = Gmaps4rails.build_markers(@users) do |user, marker|
      marker.lat user.latitude
      marker.lng user.longitude
      marker.infowindow user.description
    end
  end
end

index.html.erb

<div id="map-container">
  <div id="map-canvas"></div>
</div>

<script>
$(document).ready(function(){
  handler = Gmaps.build('Google');
  handler.buildMap({ provider: {}, internal: {id: 'map-canvas'}}, function(){
    markers = handler.addMarkers(<%=raw @hash.to_json %>)
    handler.bounds.extendWith(markers);
    handler.fitMapToBounds(markers);
    if(navigator.geolocation)
      navigator.geolocation.getCurrentPosition;
  });
});
</script>

更新

我通过添加handler.getMap().setCenter(new google.maps.LatLng(54, 0.3));

来实现它

1 个答案:

答案 0 :(得分:0)

嘿,当您可以使用gmaps4rails加载地图时,只需使用center_latitudecenter_longitude选项添加用于在加载时显示您的位置的选项。我只是使用以下代码设置它。我在这里使用了假设值。如果你使用gmaps4rails,那么你不需要手动定义javascript。只需在HTML.erb文件中添加这行代码即可。它会根据您的json自动添加标记。

 <%= gmaps("map_options" => {"auto_zoom" => false, "zoom" => 8,
    "center_latitude" =>'9999999',
    "center_longitude" => '90909890',
    "auto_adjust" => true,
    "auto_zoom" => true},"markers" => {"data" => @json, "options" => {"list_container" => "markers_list","rich_marker" => true , "custom_infowindow_class" => "yellow" } }) %>