使用咖啡脚本类自动缩放地图

提供了 App.GoogleMap 咖啡脚本类 ,其中 google.maps.Map 存储为 @mapgoogle.maps.Markers 存储为 @markers,地图可以自动缩放,即调整所有标记都可见,如下所示:在地图上如下:

# app/assets/javascripts/google_maps.js.coffee
# ...
class App.GoogleMap
  # ...
  bounds: {}

  constructor: (map_div)->
    # ...
    @auto_zoom()

  auto_zoom: ->
    @init_bounds()
    # TODO: Maybe, adjust the zoom to have a maximum or 
    # minimum zoom level, here.

  init_bounds: ->
    @bounds = new google.maps.LatLngBounds()
    for marker in @markers
      @bounds.extend marker.position
    @map.fitBounds @bounds

要了解有关边界的更多信息,请查看 Google 的 LatLngBounds 文档