Giter Site home page Giter Site logo

sirithink / google-maps-for-rails Goto Github PK

View Code? Open in Web Editor NEW

This project forked from apneadiving/google-maps-for-rails

0.0 2.0 0.0 8.88 MB

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.

Home Page: https://rubygems.org/gems/gmaps4rails

License: MIT License

google-maps-for-rails's Introduction

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.

When Gmaps4rails finally means Global Maps for Rails

I’ve added support for other map providers: openlayers, mapquest & bing.

See: github.com/apneadiving/Google-Maps-for-Rails/wiki/Map-Apis

Any help would be appreciated to complete this work.

Requirements

1) Gemfile

gem 'gmaps4rails'

2) Copy the assets to your app (and be sure to copy the fresh assets when you upgrade the gem):

rails generate gmaps4rails:install

This will copy all the coffeescript files if you’re running Rails >= 3.1 or all the js files for Rails 3.0.x.

Only ‘base` + `your_provider` are necessary.

3) Javascript

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

This container will include the js files from map providers, the custom js to display the map, the gem’s js code.

4) CSS

‘gmaps4rails.css` will be copied to your app after you run the Rails generator. Be sure to require this file in your view for your first steps.

For Rails 3.0.x or without assets pipeline:

<%= stylesheet_link_tag 'gmaps4rails' %>

For Rails >= 3.1 with assets pipeline, same principle: add the required file to your manifest.

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

Basic configuration: Non-relational DB

Mongoid example:

acts_as_gmappable :position => :location

field :location, :type => Array

How to?

QuickStart!

In your controller:

@json = User.all.to_gmaps4rails

In your view:

<%= gmaps4rails(@json) %>

Done!

Options

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

  • Circles, Polylines, Polygons

  • Geocode directly your address and retrieve coordinates.

  • 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

Todo?

Feel free to contact us, you have your say.

Want to help?

This is how you can launch the spec suite (js + ruby):

  • Clone the gem repository

  • Go to the gem’s folder

  • run ‘bundle`

  • run ‘cd spec/dummy; rake db:migrate RAILS_ENV=test; cd ../..`

  • run ‘bundle exec rspec spec`

MIT license.

Authors: Benjamin Roth, David Ruyer

Contributors

google-maps-for-rails's People

Contributors

antonovga avatar apneadiving avatar aroop avatar avioing avatar bradkollmyer avatar cameel avatar claud334 avatar davidruru avatar diazruy avatar excid3 avatar ihanli avatar jmcopeland avatar joeytheman avatar kristianmandrup avatar libo avatar lin4ipsum avatar logicalhan avatar mariovisic avatar muxamilian avatar narkoz avatar nithinbekal avatar oli-g avatar pascalj avatar pikachuexe avatar przemad avatar raid5 avatar rossta avatar ryanjones avatar stream7 avatar xsve avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.