使用咖啡指令碼類自動縮放地圖

提供了 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 文件