Ruby on Rails Using GoogleMaps with Rails Initialize the map using a coffee script class.


Provided an App.GoogleMap coffee script class, the google map can be initialized like this:

# app/assets/javascripts/
# ...
class App.GoogleMap
  map_div: {}
  map: {}
  constructor: (map_div)->
    @map_div = map_div

  # To access the GoogleMap object or the map object itself
  # later via the DOM, for example 
  #     $('.google_map').data('GoogleMap')
  # store references as data attribute of the map_div.
  reference_the_map_as_data_attribute: -> 'GoogleMap', this 'map', @map

  init_map: ->
    @map = new google.maps.Map(@dom_element, @map_configuration) if google?

  # `@map_div` is the jquery object. But google maps needs
  # the real DOM element.
  dom_element: ->

  map_configuration: -> {
    scrollWheel: true

To learn more about the possible map_configuration options, have a look at google's MapOptions documentation and their guide to adding control elements.

For reference, the class google.maps.Mapis extensively documented here.