gmaps4rails 1.5.8 → 2.0.0.pre
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +12 -0
- data/.travis.yml +9 -0
- data/Gemfile +7 -0
- data/Gemfile.lock +149 -0
- data/Guardfile.old +24 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +129 -0
- data/Rakefile +4 -0
- data/app/views/gmaps4rails/_gmaps4rails.html.erb +20 -0
- data/gmaps4rails.gemspec +38 -0
- data/lib/generators/gmaps4rails/install_generator.rb +43 -0
- data/lib/generators/templates/README +2 -0
- data/lib/gmaps4rails.rb +26 -0
- data/lib/gmaps4rails/acts_as_gmappable.rb +54 -0
- data/lib/gmaps4rails/api_wrappers/base_net_methods.rb +40 -0
- data/lib/gmaps4rails/api_wrappers/direction.rb +87 -0
- data/lib/gmaps4rails/api_wrappers/geocoder.rb +54 -0
- data/lib/gmaps4rails/api_wrappers/places.rb +74 -0
- data/lib/gmaps4rails/base.rb +126 -0
- data/lib/gmaps4rails/extensions/enumerable.rb +14 -0
- data/lib/gmaps4rails/extensions/hash.rb +9 -0
- data/lib/gmaps4rails/helper/gmaps4rails_helper.rb +33 -0
- data/lib/gmaps4rails/js_builder.rb +154 -0
- data/lib/gmaps4rails/json_builder.rb +140 -0
- data/lib/gmaps4rails/model_handler.rb +101 -0
- data/lib/gmaps4rails/version.rb +3 -0
- data/lib/gmaps4rails/view_helper.rb +172 -0
- data/lib/tasks/jasmine.rake +8 -0
- data/public/javascripts/gmaps4rails/all.js +2144 -0
- data/public/javascripts/gmaps4rails/base.js +792 -0
- data/public/javascripts/gmaps4rails/google.js +556 -0
- data/public/javascripts/gmaps4rails/openlayers.js +377 -0
- data/public/stylesheets/gmaps4rails.css +24 -0
- data/spec/dummy/.gitignore +3 -0
- data/spec/dummy/.rspec +1 -0
- data/spec/dummy/README.rdoc +261 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/assets/javascripts/application.js +18 -0
- data/spec/dummy/app/assets/stylesheets/application.css +15 -0
- data/spec/dummy/app/assets/stylesheets/gmaps4rails.css +24 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/controllers/users_controller.rb +105 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/mailers/.gitkeep +0 -0
- data/spec/dummy/app/models/.gitkeep +0 -0
- data/spec/dummy/app/models/place.rb +16 -0
- data/spec/dummy/app/models/user.rb +12 -0
- data/spec/dummy/app/views/layouts/application.html.erb +17 -0
- data/spec/dummy/app/views/users/_form.html.erb +37 -0
- data/spec/dummy/app/views/users/edit.html.erb +6 -0
- data/spec/dummy/app/views/users/index.html.erb +268 -0
- data/spec/dummy/app/views/users/new.html.erb +5 -0
- data/spec/dummy/app/views/users/show.html.erb +30 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +62 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +37 -0
- data/spec/dummy/config/environments/production.rb +67 -0
- data/spec/dummy/config/environments/test.rb +37 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/gmaps4rails.rb +1 -0
- data/spec/dummy/config/initializers/inflections.rb +15 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/routes.rb +60 -0
- data/spec/dummy/db/migrate/20120408170155_create_users.rb +16 -0
- data/spec/dummy/db/schema.rb +29 -0
- data/spec/dummy/lib/assets/.gitkeep +0 -0
- data/spec/dummy/log/.gitkeep +0 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +25 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/public/javascripts/Player.js +22 -0
- data/spec/dummy/public/javascripts/Song.js +7 -0
- data/spec/dummy/public/logo.png +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/factories/place_factory.rb +16 -0
- data/spec/factories/user_factory.rb +23 -0
- data/spec/fixtures/google_direction_valid.json +65 -0
- data/spec/fixtures/google_geocoding_toulon_france.json +58 -0
- data/spec/fixtures/google_places_valid.json +45 -0
- data/spec/fixtures/google_wrong_geocoding.json +4 -0
- data/spec/launchers/all_but_requests.rb +0 -0
- data/spec/launchers/all_specs.rb +0 -0
- data/spec/launchers/requests.rb +0 -0
- data/spec/lib/base_spec.rb +59 -0
- data/spec/lib/direction_spec.rb +53 -0
- data/spec/lib/geocoder_spec.rb +46 -0
- data/spec/lib/js_builder_spec.rb +134 -0
- data/spec/lib/json_builder_spec.rb +232 -0
- data/spec/lib/places_spec.rb +25 -0
- data/spec/models/place_spec.rb +39 -0
- data/spec/models/user_spec.rb +187 -0
- data/spec/spec_helper.rb +38 -0
- data/spec/support/geocoding.rb +40 -0
- data/spec/support/matchers.rb +73 -0
- data/todo +0 -0
- data/vendor/assets/javascripts/gmaps4rails/all.js +1 -0
- data/vendor/assets/javascripts/gmaps4rails/base.coffee +1 -0
- data/vendor/assets/javascripts/gmaps4rails/base/common.coffee +43 -0
- data/vendor/assets/javascripts/gmaps4rails/base/configuration.coffee +7 -0
- data/vendor/assets/javascripts/gmaps4rails/base/gmaps.coffee +13 -0
- data/vendor/assets/javascripts/gmaps4rails/base/interfaces/basic_interface.coffee +15 -0
- data/vendor/assets/javascripts/gmaps4rails/base/interfaces/controller_interface.coffee +15 -0
- data/vendor/assets/javascripts/gmaps4rails/base/interfaces/map_interface.coffee +27 -0
- data/vendor/assets/javascripts/gmaps4rails/base/interfaces/marker_interface.coffee +15 -0
- data/vendor/assets/javascripts/gmaps4rails/base/main.coffee +124 -0
- data/vendor/assets/javascripts/gmaps4rails/base/main_controller_extensions/circle_controller.coffee +29 -0
- data/vendor/assets/javascripts/gmaps4rails/base/main_controller_extensions/kml_controller.coffee +5 -0
- data/vendor/assets/javascripts/gmaps4rails/base/main_controller_extensions/marker_controller.coffee +76 -0
- data/vendor/assets/javascripts/gmaps4rails/base/main_controller_extensions/polygon_controller.coffee +29 -0
- data/vendor/assets/javascripts/gmaps4rails/base/main_controller_extensions/polyline_controller.coffee +29 -0
- data/vendor/assets/javascripts/gmaps4rails/base/objects/circle.coffee +12 -0
- data/vendor/assets/javascripts/gmaps4rails/base/objects/kml.coffee +8 -0
- data/vendor/assets/javascripts/gmaps4rails/base/objects/map.coffee +62 -0
- data/vendor/assets/javascripts/gmaps4rails/base/objects/marker.coffee +24 -0
- data/vendor/assets/javascripts/gmaps4rails/base/objects/polygon.coffee +11 -0
- data/vendor/assets/javascripts/gmaps4rails/base/objects/polyline.coffee +11 -0
- data/vendor/assets/javascripts/gmaps4rails/bing.coffee +1 -0
- data/vendor/assets/javascripts/gmaps4rails/bing/main.coffee +29 -0
- data/vendor/assets/javascripts/gmaps4rails/bing/objects/map.coffee +63 -0
- data/vendor/assets/javascripts/gmaps4rails/bing/objects/marker.coffee +78 -0
- data/vendor/assets/javascripts/gmaps4rails/bing/shared.coffee +20 -0
- data/vendor/assets/javascripts/gmaps4rails/google.coffee +1 -0
- data/vendor/assets/javascripts/gmaps4rails/google/main.coffee +47 -0
- data/vendor/assets/javascripts/gmaps4rails/google/objects/circle.coffee +38 -0
- data/vendor/assets/javascripts/gmaps4rails/google/objects/kml.coffee +16 -0
- data/vendor/assets/javascripts/gmaps4rails/google/objects/map.coffee +71 -0
- data/vendor/assets/javascripts/gmaps4rails/google/objects/marker.coffee +114 -0
- data/vendor/assets/javascripts/gmaps4rails/google/objects/polygon.coffee +38 -0
- data/vendor/assets/javascripts/gmaps4rails/google/objects/polyline.coffee +49 -0
- data/vendor/assets/javascripts/gmaps4rails/google/shared.coffee +27 -0
- data/vendor/assets/javascripts/gmaps4rails/openlayers.coffee +1 -0
- data/vendor/assets/javascripts/gmaps4rails/openlayers/main.coffee +138 -0
- data/vendor/assets/javascripts/gmaps4rails/openlayers/objects/map.coffee +49 -0
- data/vendor/assets/javascripts/gmaps4rails/openlayers/objects/marker.coffee +68 -0
- data/vendor/assets/javascripts/gmaps4rails/openlayers/objects/polyline.coffee +39 -0
- data/vendor/assets/javascripts/gmaps4rails/openlayers/shared.coffee +19 -0
- metadata +378 -14
- checksums.yaml +0 -7
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,149 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
gmaps4rails (2.0.0.pre)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: http://rubygems.org/
|
8
|
+
specs:
|
9
|
+
actionmailer (3.2.3)
|
10
|
+
actionpack (= 3.2.3)
|
11
|
+
mail (~> 2.4.4)
|
12
|
+
actionpack (3.2.3)
|
13
|
+
activemodel (= 3.2.3)
|
14
|
+
activesupport (= 3.2.3)
|
15
|
+
builder (~> 3.0.0)
|
16
|
+
erubis (~> 2.7.0)
|
17
|
+
journey (~> 1.0.1)
|
18
|
+
rack (~> 1.4.0)
|
19
|
+
rack-cache (~> 1.2)
|
20
|
+
rack-test (~> 0.6.1)
|
21
|
+
sprockets (~> 2.1.2)
|
22
|
+
activemodel (3.2.3)
|
23
|
+
activesupport (= 3.2.3)
|
24
|
+
builder (~> 3.0.0)
|
25
|
+
activerecord (3.2.3)
|
26
|
+
activemodel (= 3.2.3)
|
27
|
+
activesupport (= 3.2.3)
|
28
|
+
arel (~> 3.0.2)
|
29
|
+
tzinfo (~> 0.3.29)
|
30
|
+
activeresource (3.2.3)
|
31
|
+
activemodel (= 3.2.3)
|
32
|
+
activesupport (= 3.2.3)
|
33
|
+
activesupport (3.2.3)
|
34
|
+
i18n (~> 0.6)
|
35
|
+
multi_json (~> 1.0)
|
36
|
+
addressable (2.2.8)
|
37
|
+
arel (3.0.2)
|
38
|
+
builder (3.0.0)
|
39
|
+
coderay (1.0.6)
|
40
|
+
coffee-script (2.2.0)
|
41
|
+
coffee-script-source
|
42
|
+
execjs
|
43
|
+
coffee-script-source (1.3.3)
|
44
|
+
crack (0.3.1)
|
45
|
+
database_cleaner (0.7.2)
|
46
|
+
diff-lcs (1.1.3)
|
47
|
+
erubis (2.7.0)
|
48
|
+
execjs (1.4.0)
|
49
|
+
multi_json (~> 1.0)
|
50
|
+
factory_girl (2.6.1)
|
51
|
+
activesupport (>= 2.3.9)
|
52
|
+
factory_girl_rails (1.7.0)
|
53
|
+
factory_girl (~> 2.6.0)
|
54
|
+
railties (>= 3.0.0)
|
55
|
+
hike (1.2.1)
|
56
|
+
i18n (0.6.0)
|
57
|
+
journey (1.0.3)
|
58
|
+
jquery-rails (2.0.2)
|
59
|
+
railties (>= 3.2.0, < 5.0)
|
60
|
+
thor (~> 0.14)
|
61
|
+
json (1.6.6)
|
62
|
+
mail (2.4.4)
|
63
|
+
i18n (>= 0.4.0)
|
64
|
+
mime-types (~> 1.16)
|
65
|
+
treetop (~> 1.4.8)
|
66
|
+
method_source (0.7.1)
|
67
|
+
mime-types (1.18)
|
68
|
+
mongoid (3.0.6)
|
69
|
+
activemodel (~> 3.1)
|
70
|
+
moped (~> 1.1)
|
71
|
+
origin (~> 1.0)
|
72
|
+
tzinfo (~> 0.3.22)
|
73
|
+
moped (1.2.5)
|
74
|
+
multi_json (1.2.0)
|
75
|
+
origin (1.0.9)
|
76
|
+
polyglot (0.3.3)
|
77
|
+
pry (0.9.8.4)
|
78
|
+
coderay (~> 1.0.5)
|
79
|
+
method_source (~> 0.7.1)
|
80
|
+
slop (>= 2.4.4, < 3)
|
81
|
+
rack (1.4.1)
|
82
|
+
rack-cache (1.2)
|
83
|
+
rack (>= 0.4)
|
84
|
+
rack-ssl (1.3.2)
|
85
|
+
rack
|
86
|
+
rack-test (0.6.1)
|
87
|
+
rack (>= 1.0)
|
88
|
+
rails (3.2.3)
|
89
|
+
actionmailer (= 3.2.3)
|
90
|
+
actionpack (= 3.2.3)
|
91
|
+
activerecord (= 3.2.3)
|
92
|
+
activeresource (= 3.2.3)
|
93
|
+
activesupport (= 3.2.3)
|
94
|
+
bundler (~> 1.0)
|
95
|
+
railties (= 3.2.3)
|
96
|
+
railties (3.2.3)
|
97
|
+
actionpack (= 3.2.3)
|
98
|
+
activesupport (= 3.2.3)
|
99
|
+
rack-ssl (~> 1.3.2)
|
100
|
+
rake (>= 0.8.7)
|
101
|
+
rdoc (~> 3.4)
|
102
|
+
thor (~> 0.14.6)
|
103
|
+
rake (0.9.2.2)
|
104
|
+
rdoc (3.12)
|
105
|
+
json (~> 1.4)
|
106
|
+
rspec (2.8.0)
|
107
|
+
rspec-core (~> 2.8.0)
|
108
|
+
rspec-expectations (~> 2.8.0)
|
109
|
+
rspec-mocks (~> 2.8.0)
|
110
|
+
rspec-core (2.8.0)
|
111
|
+
rspec-expectations (2.8.0)
|
112
|
+
diff-lcs (~> 1.1.2)
|
113
|
+
rspec-mocks (2.8.0)
|
114
|
+
rspec-rails (2.8.1)
|
115
|
+
actionpack (>= 3.0)
|
116
|
+
activesupport (>= 3.0)
|
117
|
+
railties (>= 3.0)
|
118
|
+
rspec (~> 2.8.0)
|
119
|
+
slop (2.4.4)
|
120
|
+
sprockets (2.1.2)
|
121
|
+
hike (~> 1.2)
|
122
|
+
rack (~> 1.0)
|
123
|
+
tilt (~> 1.1, != 1.3.0)
|
124
|
+
sqlite3 (1.3.5)
|
125
|
+
thor (0.14.6)
|
126
|
+
tilt (1.3.3)
|
127
|
+
treetop (1.4.10)
|
128
|
+
polyglot
|
129
|
+
polyglot (>= 0.3.1)
|
130
|
+
tzinfo (0.3.32)
|
131
|
+
webmock (1.8.7)
|
132
|
+
addressable (>= 2.2.7)
|
133
|
+
crack (>= 0.1.7)
|
134
|
+
|
135
|
+
PLATFORMS
|
136
|
+
ruby
|
137
|
+
|
138
|
+
DEPENDENCIES
|
139
|
+
coffee-script
|
140
|
+
database_cleaner
|
141
|
+
factory_girl_rails
|
142
|
+
gmaps4rails!
|
143
|
+
jquery-rails
|
144
|
+
mongoid (~> 3)
|
145
|
+
pry
|
146
|
+
rails (~> 3.2.1)
|
147
|
+
rspec-rails
|
148
|
+
sqlite3
|
149
|
+
webmock
|
data/Guardfile.old
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# guard 'spork', :rspec_env => { 'RAILS_ENV' => 'test' } do
|
2
|
+
# watch('config/application.rb')
|
3
|
+
# watch('config/environment.rb')
|
4
|
+
# watch(%r{^config/environments/.+\.rb$})
|
5
|
+
# watch(%r{^config/initializers/.+\.rb$})
|
6
|
+
# watch('Gemfile')
|
7
|
+
# watch('Gemfile.lock')
|
8
|
+
# watch('spec/spec_helper.rb') { :rspec }
|
9
|
+
# end
|
10
|
+
|
11
|
+
# guard 'rspec', :cli => "-c -f d", :all_on_start => false, :all_after_pass => false do
|
12
|
+
# watch(%r{^spec/.+_spec\.rb$})
|
13
|
+
# watch('spec/launchers/all_specs.rb') { "spec" }
|
14
|
+
# watch('spec/launchers/all_but_requests.rb') { ["spec/base", "spec/helpers", "spec/models", "spec/views", "spec/javascripts"] }
|
15
|
+
# watch('spec/launchers/requests.rb') { "spec/requests" }
|
16
|
+
# end
|
17
|
+
|
18
|
+
# guard 'jasmine', :jasmine_url => 'http://localhost:8888/', :all_on_start => false, :all_after_pass => false do
|
19
|
+
# watch(%r{spec/javascripts/spec\.(js\.coffee|js|coffee)$}) { "spec/javascripts" }
|
20
|
+
# watch(%r{^spec/javascripts/.+_spec\.(js\.coffee|js|coffee)$}) { "spec/javascripts" }
|
21
|
+
# watch(%r{^spec/javascripts/.+_spec\.js$}) { "spec/javascripts" }
|
22
|
+
# end
|
23
|
+
|
24
|
+
# guard 'coffeescript', :input => 'app/assets/javascripts/gmaps4rails', :output => 'public/javascripts/gmaps4rails'
|
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright 2012 Benjamin Roth
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
@@ -0,0 +1,129 @@
|
|
1
|
+
== Google Maps for Rails (gmaps4rails) {<img src="https://secure.travis-ci.org/apneadiving/Google-Maps-for-Rails.png?branch=master" alt="Build Status" />}[http://travis-ci.org/apneadiving/Google-Maps-for-Rails] {<img src="https://codeclimate.com/badge.png" />}[https://codeclimate.com/github/apneadiving/Google-Maps-for-Rails]
|
2
|
+
|
3
|
+
Gmaps4rails is developed to simply create a Google Map:
|
4
|
+
|
5
|
+
- directly from your model,
|
6
|
+
|
7
|
+
- from your own json
|
8
|
+
|
9
|
+
It's based on Ruby on Rails 3 Engines and uses Google Maps API V3.
|
10
|
+
|
11
|
+
== When Gmaps4rails finally means Global Maps for Rails
|
12
|
+
|
13
|
+
I've added support for other map providers: openlayers, mapquest & bing.
|
14
|
+
|
15
|
+
See: https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Map-Apis
|
16
|
+
|
17
|
+
Any help would be appreciated to complete this work.
|
18
|
+
|
19
|
+
== Requirements
|
20
|
+
|
21
|
+
1) Gemfile
|
22
|
+
|
23
|
+
gem 'gmaps4rails'
|
24
|
+
|
25
|
+
2) Copy the assets to your app (and be sure to copy the fresh assets when you upgrade the gem):
|
26
|
+
|
27
|
+
rails generate gmaps4rails:install
|
28
|
+
|
29
|
+
This will copy all the coffeescript files if you're running Rails >= 3.1 or all the js files for Rails 3.0.x.
|
30
|
+
|
31
|
+
Only `base` + `your_provider` are necessary.
|
32
|
+
|
33
|
+
3) Javascript
|
34
|
+
|
35
|
+
<%= yield :scripts %> (in your footer)
|
36
|
+
|
37
|
+
This container will include the js files from map providers, the custom js to display the map, the gem's js code.
|
38
|
+
|
39
|
+
4) CSS
|
40
|
+
|
41
|
+
`gmaps4rails.css` will be copied to your app after you run the Rails generator.
|
42
|
+
Be sure to require this file in your view for your first steps.
|
43
|
+
|
44
|
+
For Rails 3.0.x or without assets pipeline:
|
45
|
+
|
46
|
+
<%= stylesheet_link_tag 'gmaps4rails' %>
|
47
|
+
|
48
|
+
For Rails >= 3.1 with assets pipeline, same principle: add the required file to your manifest.
|
49
|
+
|
50
|
+
|
51
|
+
== Basic configuration
|
52
|
+
In your model, add:
|
53
|
+
|
54
|
+
acts_as_gmappable
|
55
|
+
|
56
|
+
def gmaps4rails_address
|
57
|
+
#describe how to retrieve the address from your model, if you use directly a db column, you can dry your code, see wiki
|
58
|
+
"#{self.street}, #{self.city}, #{self.country}"
|
59
|
+
end
|
60
|
+
|
61
|
+
Create a migration and add the following fields to your table (here users):
|
62
|
+
|
63
|
+
add_column :users, :latitude, :float #you can change the name, see wiki
|
64
|
+
add_column :users, :longitude, :float #you can change the name, see wiki
|
65
|
+
add_column :users, :gmaps, :boolean #not mandatory, see wiki
|
66
|
+
|
67
|
+
== Basic configuration: Non-relational DB
|
68
|
+
|
69
|
+
Mongoid example:
|
70
|
+
|
71
|
+
acts_as_gmappable :position => :location
|
72
|
+
|
73
|
+
field :location, :type => Array
|
74
|
+
|
75
|
+
== How to?
|
76
|
+
=== QuickStart!
|
77
|
+
In your controller:
|
78
|
+
|
79
|
+
@json = User.all.to_gmaps4rails
|
80
|
+
|
81
|
+
In your view:
|
82
|
+
|
83
|
+
<%= gmaps4rails(@json) %>
|
84
|
+
|
85
|
+
Done!
|
86
|
+
|
87
|
+
== Options
|
88
|
+
|
89
|
+
* Markers with Info window, Custom Picture, RichMarkers (make your own markers with custom html)
|
90
|
+
|
91
|
+
* Circles, Polylines, Polygons
|
92
|
+
|
93
|
+
* Geocode directly your address and retrieve coordinates.
|
94
|
+
|
95
|
+
* Auto-adjust the map to your markers
|
96
|
+
|
97
|
+
* Refresh your map on the fly with Javascript (and Ajax)
|
98
|
+
|
99
|
+
* KML support
|
100
|
+
|
101
|
+
* Easy multimap
|
102
|
+
|
103
|
+
* {More details in the Wiki}[https://github.com/apneadiving/Google-Maps-for-Rails/wiki]
|
104
|
+
|
105
|
+
== Todo?
|
106
|
+
|
107
|
+
Feel free to contact us, you have your say.
|
108
|
+
|
109
|
+
== Want to help?
|
110
|
+
|
111
|
+
This is how you can launch the spec suite (js + ruby):
|
112
|
+
|
113
|
+
* Clone the gem repository
|
114
|
+
|
115
|
+
* Go to the gem's folder
|
116
|
+
|
117
|
+
* run `bundle`
|
118
|
+
|
119
|
+
* run `cd spec/dummy; rake db:migrate RAILS_ENV=test; cd ../..`
|
120
|
+
|
121
|
+
* run `bundle exec rspec spec`
|
122
|
+
|
123
|
+
|
124
|
+
== Copyright
|
125
|
+
MIT license.
|
126
|
+
|
127
|
+
Authors: Benjamin Roth, David Ruyer
|
128
|
+
|
129
|
+
{Contributors}[https://github.com/apneadiving/Google-Maps-for-Rails/graphs/contributors]
|
data/Rakefile
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
<% content_for :scripts do %>
|
2
|
+
<%= javascript_include_tag *js_dependencies %>
|
3
|
+
|
4
|
+
<script type="text/javascript">
|
5
|
+
<%=raw options.to_gmaps4rails %>
|
6
|
+
</script>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<% case dom.map_provider %>
|
10
|
+
<% when "mapquest" %>
|
11
|
+
<div id="<%= dom.map_id %>" style="width:750px; height:475px;">
|
12
|
+
<!-- TODO: change this style dynamically -->
|
13
|
+
</div>
|
14
|
+
<% when "bing" %>
|
15
|
+
<div id="<%= dom.map_id %>" class="<%= dom.map_class %>"></div>
|
16
|
+
<% else %>
|
17
|
+
<div class="<%= dom.container_class %>">
|
18
|
+
<div id="<%= dom.map_id %>" class="<%= dom.map_class %>"></div>
|
19
|
+
</div>
|
20
|
+
<% end %>
|
data/gmaps4rails.gemspec
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
2
|
+
|
3
|
+
# Maintain your gem's version:
|
4
|
+
require "gmaps4rails/version"
|
5
|
+
|
6
|
+
# Describe your gem and declare its dependencies:
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = "gmaps4rails"
|
9
|
+
s.version = Gmaps4rails::VERSION
|
10
|
+
s.authors = [%q{Benjamin Roth}, %q{David Ruyer}]
|
11
|
+
s.email = [%q{apnea.diving.deep@gmail.com}, %q{david.ruyer@gmail.com}]
|
12
|
+
s.homepage = %q{http://github.com/apneadiving/Google-Maps-for-Rails}
|
13
|
+
s.summary = %q{Maps made easy for Rails 3}
|
14
|
+
s.description = %q{Enables easy display of items (taken from a Rails 3 model) on a Google Maps (JS API V3), OpenLayers, Mapquest and Bing.}
|
15
|
+
s.files = `git ls-files`.split("\n")
|
16
|
+
s.test_files = `git ls-files -- spec/*`.split("\n")
|
17
|
+
|
18
|
+
s.add_development_dependency "rails", "~> 3.2.1"
|
19
|
+
s.add_development_dependency "sqlite3"
|
20
|
+
s.add_development_dependency "mongoid", "~> 3" if RUBY_VERSION == "1.9.3"
|
21
|
+
s.add_development_dependency 'jquery-rails'
|
22
|
+
s.add_development_dependency "rspec-rails"
|
23
|
+
s.add_development_dependency 'database_cleaner'
|
24
|
+
#s.add_development_dependency "capybara"
|
25
|
+
#s.add_development_dependency 'launchy'
|
26
|
+
|
27
|
+
# s.add_development_dependency "jasmine"
|
28
|
+
|
29
|
+
# s.add_development_dependency "guard", "~> 1.0.1"
|
30
|
+
s.add_development_dependency 'coffee-script'
|
31
|
+
# s.add_development_dependency 'guard-jasmine'
|
32
|
+
# s.add_development_dependency "guard-rspec"
|
33
|
+
|
34
|
+
s.add_development_dependency "factory_girl_rails"
|
35
|
+
s.add_development_dependency "webmock"
|
36
|
+
|
37
|
+
s.add_development_dependency 'pry'
|
38
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module Gmaps4rails
|
2
|
+
module Generators
|
3
|
+
class InstallGenerator < Rails::Generators::Base
|
4
|
+
source_root File.expand_path('../../templates', __FILE__)
|
5
|
+
|
6
|
+
desc 'Creates a Gmaps4rails initializer and copies the assets to the public folder.'
|
7
|
+
|
8
|
+
def copy_locale
|
9
|
+
if Gmaps4rails.pipeline_enabled?
|
10
|
+
directory assets_source_path, assets_destination_path
|
11
|
+
copy_file "../../../public/stylesheets/gmaps4rails.css", "vendor/assets/stylesheets/gmaps4rails.css"
|
12
|
+
else
|
13
|
+
%w( base google openlayers all ).each do |filename|
|
14
|
+
copy_file js_source_path(filename), js_destination_path(filename)
|
15
|
+
end
|
16
|
+
copy_file "../../../public/stylesheets/gmaps4rails.css", "public/stylesheets/gmaps4rails.css"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def show_readme
|
21
|
+
readme 'README' if behavior == :invoke
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def assets_source_path
|
27
|
+
'../../../vendor/assets/javascripts/gmaps4rails/'
|
28
|
+
end
|
29
|
+
|
30
|
+
def assets_destination_path
|
31
|
+
'vendor/assets/javascripts/gmaps4rails'
|
32
|
+
end
|
33
|
+
|
34
|
+
def js_source_path(filename)
|
35
|
+
"../../../public/javascripts/gmaps4rails/#{filename}.js"
|
36
|
+
end
|
37
|
+
|
38
|
+
def js_destination_path(filename)
|
39
|
+
"public/javascripts/gmaps4rails/#{filename}.js"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|