Using Google Maps with Rails:
*Add the google maps javascript tag to the layout header
In order to have google maps work properly with turbolinks, add the javascript tag directly to the layout header rather than including it in a view.
# app/views/layouts/my_layout.html.haml
!!!
%html{:lang => 'en'}
%head
- # ...
= google_maps_api_script_tag
The google_maps_api_script_tag is best defined in a helper.
# app/helpers/google_maps_helper.rb
module GoogleMapsHelper
def google_maps_api_script_tag
javascript_include_tag google_maps_api_source
end
def google_maps_api_source
"https://maps.googleapis.com/maps/api/js?key=#{google_maps_api_key}"
end
def google_maps_api_key
Rails.application.secrets.google_maps_api_key
end
end
You can register your application with google and get your api key in the google api console. Google has a short guide how to request an api key for the google maps javascript api.
The api key is stored in the secrets.ymlfile:
# config/secrets.yml
development:
google_maps_api_key: '...'
# ...
production:
google_maps_api_key: '...'
# ...
Don’t forget to add config/secrets.yml to your .gitignore file and makre sure you don’t commit the api key to the repository.