/Google-Maps-for-Rails

Enables easy display of items (taken from a Rails 3 model) on a Google Maps (JS API V3). Geocoding + Directions included. Provides much options: markers customization, infowindows, auto-adjusted zoom, polylines, polygons, circles etc... See wiki for full description and examples.

Primary LanguageRubyMIT LicenseMIT

Google Maps for Rails (gmaps4rails)

Gmaps4rails is developped 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 screencasts here: www.youtube.com/user/TheApneadiving

Requirements

  • gem ‘gmaps4rails’ (in your gemfile, then bundle)

  • <%= yield :head %> (in your header)

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

  • config.serve_static_assets = true (in your production.rb), or run ‘rails generate gmaps4rails:install’ to copy the JS and CSS assets to your /public folder.

Basic configuration

In your model, add:

acts_as_gmappable 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}, #{self.city}, #{self.country}” end

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?

QuickStart!

In your controller:

@json = User.all.to_gmaps4rails

In your view:

<%= gmaps4rails(@json) %>

Done!

Options

  • Markers with Info window, Custom Picture

  • 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)

  • More details in the Wiki

Todo?

Feel free ton contact us, you have your say.

MIT license.

Authors: Benjamin Roth, David Ruyer

Contributors: Mircea Pricop, Alex Vorobiev