I would like to ask which is the best solution for integrating google maps into ruby on rails apps. Is a specific gem worth it or should we write our own views for it?
Thanks for any input.
I would like to ask which is the best solution for integrating google maps into ruby on rails apps. Is a specific gem worth it or should we write our own views for it?
Thanks for any input.
Fyi, I've finished a stable release of gmaps4rails.
See: https://github.com/apneadiving/Google-Maps-for-Rails
GoogleMaps gem is a nice one. It adds all basic JS scripts but a full-functional dynamic map can't be done without JS coding anyway.
There are also JS plugins, the most attractive of them are gmap3, Maplace.Js and gmaps.js.
Gems and plugins allow saving time on basic things but using them imposes some restrictions. For example, if Google makes changes in its Maps API, you have to wait for an updated version of the gem or plugin or integrate manually.
In fact, there is no major difficulty in integrating Google Maps into Rails app and IMHO it makes sence to do it without gems.
See this article for a detailed walkthrough on integrating Google Maps into ruby on rails apps: How to Integrate Google Maps into Ruby on Rails App.
As of November 2012,the best gem for google map integration which I have found is geocoder
It provides object geocoding (by street or IP address), reverse geocoding (coordinates to street address), distance queries for ActiveRecord and Mongoid, result caching, and more. Designed for Rails but works with Sinatra and other Rack frameworks too.
You can get a railscasts too.
If your requirements are only to show google map of specific region, possibly with some markers, you can use Google Maps Static Image API, for example:
The result is:
Here is a good article on subject. Also it's possible to specify geo location with latitude and longitude on markers:
So in Rails you can use, for example,
image_tag
with google map image path helper:I've used the YM4R, Georuby and spatial adapter gems with good results before. see this description.