Skip to content
Enables easy display of items (taken from a Rails 3 model) with Google Map, OpenLayers, Bing or Mapquest. Geocoding + Directions included. Provides much options: markers customization, infowindows, auto-adjusted zoom, polylines, polygons, circles etc... See wiki for full description and examples.
Ruby CoffeeScript JavaScript
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Google Maps for Rails (gmaps4rails)

Gmaps4rails is developed to simply create a Google Map:

  • directly from your model,

  • from your own json

It's based on Ruby on Rails 3 Engines and uses Google Maps API V3.

See (somewhat outdated) screencasts here:

When Gmaps4rails finally means Global Maps for Rails

I've added support for other map providers:

  • openlayers

  • mapquest

  • bing


Any help would be appreciated to complete this work.



gem 'gmaps4rails'

(followed by 'bundle')

<%= yield :head %>    (in your header, Rails 3.0.x only) 

<%= yield :scripts %> (in your footer)

To make Rails serve the assets (javascripts, stylesheets and marker images) you have several options, depending on your configuration and Rails version:

  • if you are using Rails 3.1 and have asset pipeline enabled ('config.assets.enabled = true' in config/application.rb), include the appropriate manifest:

    * //= require gmaps4rails/bing.js
    * //= require gmaps4rails/googlemaps.js
    * //= require gmaps4rails/mapquest.js
    * //= require gmaps4rails/openlayers.js
    * //= require gmaps4rails/all_apis.js


    * `require gmaps4rails` (if you use the default)
  • if you are using Rails 3.0: see paragraph below to be sure everything will work in production.

  • finally you can just copy assets to your application's public/stylesheets, public/javascripts/gmaps4rails and public/images. It's recommended to do this in production so that you can let your webserver serve them rather than go through Rails each time they are requested. There's a generator to help you with that:

    rails generate gmaps4rails:install

    This will copy the coffeescript files if you're running Rails 3.1 or the js files for Rails 3.0.x

Basic configuration

In your model, add:


def gmaps4rails_address
#describe how to retrieve the address from your model, if you use directly a db column, you can dry your code, see wiki
  "#{self.street}, #{}, #{}" 

Create a migration and add the following fields to your table (here users):

add_column :users, :latitude, :float #you can change the name, see wiki
add_column :users, :longitude, :float #you can change the name, see wiki
add_column :users, :gmaps, :boolean #not mandatory, see wiki

How to?


In your controller:

@json = User.all.to_gmaps4rails

In your view:

<%= gmaps4rails(@json) %>



  • Markers with Info window, Custom Picture, RichMarkers (make your own markers with custom html)

  • Automatic sidebar with list of markers

  • Circles, Polylines, Polygons

  • Geocode directly your address and retrieve coordinates.

  • Wrapper for 'Direction', giving instructions to go from point A to point B

  • Auto-adjust the map to your markers

  • Refresh your map on the fly with Javascript (and Ajax)

  • KML support

  • Easy multimap

  • More details in the Wiki


Feel free to contact us, you have your say.


MIT license.

Authors: Benjamin Roth, David Ruyer

Contributors: Mircea Pricop, Kamil Śliwak, Alex Vorobiev

Something went wrong with that request. Please try again.