我正在使用apneadiving / Google-Maps-for-Rails添加谷歌地图支持(感谢真棒宝石)
我发现了一个轻微的故障,这很可能是我的错.
当有多个标记时,auto_zoom很有效.但是,当只有一个标记时,它会放大到不同的最大级别.
“zoom”仅在auto_zoom为false时有效,因此这不是我想要的.
因此,您可以使用“maxZoom”,但现在用户无法手动放大超出该点,这不是我想要的.
有没有解决的办法?我的解释有意义吗?这是Google Maps API的限制吗?
谢谢…
解决方法
此行为是由于google maps api中的auto_zoom内置函数.
解决这个问题的一个方法是在gmaps方法中将其设置为false:
<%= gmaps({ "map_options" => { "auto_zoom" => false},"markers" => { "data" => @json } }) %>
然后使用gmaps4rails_callback来满足您的需求(确保至少有0.7.9版本)
<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(2); } else{ //more than one marker,let's auto_zoom Gmaps4Rails.map_options.auto_zoom = true; Gmaps4Rails.adjust_map_to_bounds(); } } </script>