gmaps4rails 1.5.5 → 1.5.6
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -2
- data/Gemfile.lock +9 -1
- data/app/assets/javascripts/gmaps4rails/gmaps4rails.base.js.coffee +7 -5
- data/app/assets/javascripts/gmaps4rails/gmaps4rails.openlayers.js.coffee +1 -1
- data/lib/gmaps4rails/version.rb +1 -1
- data/lib/gmaps4rails/view_helper.rb +7 -3
- data/spec/dummy/app/controllers/users_controller.rb +1 -1
- data/spec/dummy/app/views/users/_map.html.erb +5 -0
- data/spec/dummy/app/views/users/index.html.erb +21 -13
- data/spec/models/place_spec.rb +1 -1
- data/spec/models/user_spec.rb +4 -2
- data/spec/support/geocoding.rb +2 -1
- metadata +22 -4
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
gmaps4rails (1.5.
|
4
|
+
gmaps4rails (1.5.6)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: http://rubygems.org/
|
@@ -91,7 +91,14 @@ GEM
|
|
91
91
|
treetop (~> 1.4.8)
|
92
92
|
method_source (0.7.1)
|
93
93
|
mime-types (1.18)
|
94
|
+
mongoid (3.0.6)
|
95
|
+
activemodel (~> 3.1)
|
96
|
+
moped (~> 1.1)
|
97
|
+
origin (~> 1.0)
|
98
|
+
tzinfo (~> 0.3.22)
|
99
|
+
moped (1.2.5)
|
94
100
|
multi_json (1.2.0)
|
101
|
+
origin (1.0.9)
|
95
102
|
polyglot (0.3.3)
|
96
103
|
pry (0.9.8.4)
|
97
104
|
coderay (~> 1.0.5)
|
@@ -172,6 +179,7 @@ DEPENDENCIES
|
|
172
179
|
guard-spork
|
173
180
|
jasmine
|
174
181
|
jquery-rails
|
182
|
+
mongoid (~> 3)
|
175
183
|
pry
|
176
184
|
rails (~> 3.2.1)
|
177
185
|
rspec-rails
|
@@ -24,6 +24,7 @@ class @Gmaps4Rails
|
|
24
24
|
@userLocation = null #contains user's location if geolocalization was performed and successful
|
25
25
|
|
26
26
|
#empty slots
|
27
|
+
@geolocationSuccess = -> false #triggered when geolocation succeeds. Can be customized.
|
27
28
|
@geolocationFailure = -> false #triggered when geolocation fails. If customized, must be like= function(navigator_handles_geolocation){} where 'navigator_handles_geolocation' is a boolean
|
28
29
|
@callback = -> false #to let user set a custom callback function
|
29
30
|
@customClusterer = -> false #to let user set custom clusterer pictures
|
@@ -95,6 +96,7 @@ class @Gmaps4Rails
|
|
95
96
|
#change map's center to focus on user's geoloc if asked
|
96
97
|
if(map_object.map_options.center_on_user == true)
|
97
98
|
map_object.centerMapOnUser()
|
99
|
+
map_object.geolocationSuccess()
|
98
100
|
positionFailure = ->
|
99
101
|
map_object.geolocationFailure(true)
|
100
102
|
|
@@ -296,25 +298,25 @@ class @Gmaps4Rails
|
|
296
298
|
|
297
299
|
|
298
300
|
#replace old markers with new markers on an existing map
|
299
|
-
replaceMarkers : (new_markers) ->
|
301
|
+
replaceMarkers : (new_markers, adjustBounds = true) ->
|
300
302
|
@clearMarkers()
|
301
303
|
#reset previous markers
|
302
304
|
@markers = new Array
|
303
305
|
#reset current bounds
|
304
|
-
@boundsObject = @createLatLngBounds()
|
306
|
+
@boundsObject = @createLatLngBounds() if adjustBounds
|
305
307
|
#reset sidebar content if exists
|
306
308
|
@resetSidebarContent()
|
307
309
|
#add new markers
|
308
310
|
@markers_conf.offset = 0
|
309
|
-
@addMarkers(new_markers)
|
311
|
+
@addMarkers(new_markers, adjustBounds)
|
310
312
|
|
311
313
|
#add new markers to on an existing map
|
312
|
-
addMarkers : (new_markers) ->
|
314
|
+
addMarkers : (new_markers, adjustBounds = true) ->
|
313
315
|
#update the list of markers to take into account
|
314
316
|
@markers = @markers.concat(new_markers)
|
315
317
|
#put markers on the map
|
316
318
|
@create_markers()
|
317
|
-
@adjustMapToBounds()
|
319
|
+
@adjustMapToBounds() if adjustBounds
|
318
320
|
|
319
321
|
#////////////////////////////////////////////////////
|
320
322
|
#///////////////////// SIDEBAR //////////////////////
|
@@ -89,7 +89,7 @@ class @Gmaps4RailsOpenlayers extends Gmaps4Rails
|
|
89
89
|
style_mark.backgroundXOffset = args.shadow_anchor[0]
|
90
90
|
style_mark.backgroundYOffset = args.shadow_anchor[1]
|
91
91
|
|
92
|
-
style_mark.graphicTitle = args.
|
92
|
+
style_mark.graphicTitle = args.marker_title
|
93
93
|
marker = new OpenLayers.Feature.Vector(
|
94
94
|
new OpenLayers.Geometry.Point(args.Lng, args.Lat),
|
95
95
|
null,
|
data/lib/gmaps4rails/version.rb
CHANGED
@@ -66,9 +66,9 @@ module Gmaps4rails
|
|
66
66
|
when "mapquest" then @js_array << "#{MAPQUEST}?key=#{provider_key}"
|
67
67
|
when "bing" then @js_array << BING
|
68
68
|
else #case googlemaps which is the default
|
69
|
-
@js_array << "#{GOOGLE}&sensor=false&key=#{provider_key}&libraries=geometry#{google_libraries}&#{google_map_i18n}"
|
69
|
+
@js_array << "#{GOOGLE}&sensor=false&client=#{client}&key=#{provider_key}&libraries=geometry#{google_libraries}&#{google_map_i18n}"
|
70
70
|
@js_array << "#{GOOGLE_EXT}tags/infobox/1.1.9/src/infobox_packed.js" if custom_infowindow_class
|
71
|
-
@js_array << "#{GOOGLE_EXT}tags/markerclustererplus/2.0.
|
71
|
+
@js_array << "#{GOOGLE_EXT}tags/markerclustererplus/2.0.14/src/markerclusterer_packed.js" if do_clustering
|
72
72
|
@js_array << "#{GOOGLE_EXT}trunk/richmarker/src/richmarker-compiled.js" if rich_marker
|
73
73
|
end
|
74
74
|
end
|
@@ -111,6 +111,10 @@ module Gmaps4rails
|
|
111
111
|
def provider_key
|
112
112
|
map_options.try(:[], :provider_key)
|
113
113
|
end
|
114
|
+
|
115
|
+
def client
|
116
|
+
map_options.try(:[], :client)
|
117
|
+
end
|
114
118
|
|
115
119
|
# when custom_infowindow_class is added in the marker_options,
|
116
120
|
#it means user wants to use the InfoBox googlemap's plugin
|
@@ -168,4 +172,4 @@ module Gmaps4rails
|
|
168
172
|
|
169
173
|
end
|
170
174
|
|
171
|
-
end
|
175
|
+
end
|
@@ -9,7 +9,7 @@ class UsersController < ApplicationController
|
|
9
9
|
@json = @users.to_gmaps4rails do |user, marker|
|
10
10
|
marker.json({:id => user.id })
|
11
11
|
marker.picture({
|
12
|
-
"picture" => "/
|
12
|
+
"picture" => "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=A|FF0000|000000",
|
13
13
|
"width" => 32,
|
14
14
|
"height" => 32})
|
15
15
|
marker.infowindow user.name
|
@@ -85,10 +85,10 @@
|
|
85
85
|
:options => {"list_container" => "markers_list" }
|
86
86
|
})%>
|
87
87
|
<div id="markers_list"></div>
|
88
|
-
<%#= gmaps(:map_options => { :auto_adjust => true },
|
89
|
-
:markers => { :data => '[{"lat":42.3124,"lng":71.1712}]', :options => {:do_clustering => true} }) %>
|
90
88
|
|
91
|
-
<%=
|
89
|
+
<%= render :partial => 'map', :locals => {:json => @json} %>
|
90
|
+
|
91
|
+
<%#= gmaps(:markers => {:data => @json, :options => {:do_clustering => false, "custom_infowindow_class" => "yellow", :raw => "{ flat: true, draggable: true}" } },
|
92
92
|
:polygons => {:data => '[[
|
93
93
|
{"lng": 5.190262, "lat": 25.774252},
|
94
94
|
{"lng": 7.118292, "lat": 45.466465},
|
@@ -178,18 +178,26 @@
|
|
178
178
|
// });
|
179
179
|
// }
|
180
180
|
//
|
181
|
-
Gmaps.map.callback = function(){
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
};
|
181
|
+
// Gmaps.map.callback = function(){
|
182
|
+
// // Create the DIV to hold the control and call the HomeControl() constructor
|
183
|
+
// // passing in this DIV.
|
184
|
+
// // var homeControlDiv = document.createElement('DIV');
|
185
|
+
// // var homeControl = new HomeControl(homeControlDiv, Gmaps.map.map);
|
186
|
+
// //
|
187
|
+
// // homeControlDiv.index = 1;
|
188
|
+
// // Gmaps.map.map.controls[google.maps.ControlPosition.TOP_RIGHT].push(homeControlDiv);
|
189
|
+
// //Gmaps.map.serviceObject.setZoom(1);
|
190
|
+
// };
|
191
191
|
//
|
192
192
|
//
|
193
|
+
var styles = [
|
194
|
+
{
|
195
|
+
featureType: "all",
|
196
|
+
stylers: [
|
197
|
+
{ "hue": "#ff1a00" }
|
198
|
+
]
|
199
|
+
}
|
200
|
+
];
|
193
201
|
var pinkParksStyles = [
|
194
202
|
{
|
195
203
|
featureType: "all",
|
data/spec/models/place_spec.rb
CHANGED
@@ -25,7 +25,7 @@ if RUBY_VERSION == "1.9.3"
|
|
25
25
|
|
26
26
|
context "standard configuration, valid place" do
|
27
27
|
it "should save longitude and latitude to the customized position array" do
|
28
|
-
set_gmaps4rails_options!(:position => '
|
28
|
+
set_gmaps4rails_options!(:position => 'pos')
|
29
29
|
place.pos.should_not be_nil
|
30
30
|
place.should have_same_position_as TOULON
|
31
31
|
end
|
data/spec/models/user_spec.rb
CHANGED
@@ -2,13 +2,15 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
include Geocoding
|
4
4
|
|
5
|
-
set_gmaps4rails_options!
|
6
|
-
|
7
5
|
describe Gmaps4rails::ActsAsGmappable do
|
8
6
|
|
9
7
|
let(:user) { Factory(:user) }
|
10
8
|
let(:invalid_user) { FactoryGirl.build(:invalid_user) }
|
11
9
|
|
10
|
+
before(:all) do
|
11
|
+
set_gmaps4rails_options!
|
12
|
+
end
|
13
|
+
|
12
14
|
before(:each) do
|
13
15
|
Geocoding.stub_geocoding
|
14
16
|
end
|
data/spec/support/geocoding.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gmaps4rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-10-21 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
@@ -44,6 +44,22 @@ dependencies:
|
|
44
44
|
- - ! '>='
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: '0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: mongoid
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ~>
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '3'
|
47
63
|
- !ruby/object:Gem::Dependency
|
48
64
|
name: jquery-rails
|
49
65
|
requirement: !ruby/object:Gem::Requirement
|
@@ -301,6 +317,7 @@ files:
|
|
301
317
|
- spec/dummy/app/models/user.rb
|
302
318
|
- spec/dummy/app/views/layouts/application.html.erb
|
303
319
|
- spec/dummy/app/views/users/_form.html.erb
|
320
|
+
- spec/dummy/app/views/users/_map.html.erb
|
304
321
|
- spec/dummy/app/views/users/edit.html.erb
|
305
322
|
- spec/dummy/app/views/users/index.html.erb
|
306
323
|
- spec/dummy/app/views/users/new.html.erb
|
@@ -377,7 +394,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
377
394
|
version: '0'
|
378
395
|
segments:
|
379
396
|
- 0
|
380
|
-
hash:
|
397
|
+
hash: 412283854871812775
|
381
398
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
382
399
|
none: false
|
383
400
|
requirements:
|
@@ -386,7 +403,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
386
403
|
version: '0'
|
387
404
|
segments:
|
388
405
|
- 0
|
389
|
-
hash:
|
406
|
+
hash: 412283854871812775
|
390
407
|
requirements: []
|
391
408
|
rubyforge_project:
|
392
409
|
rubygems_version: 1.8.24
|
@@ -410,6 +427,7 @@ test_files:
|
|
410
427
|
- spec/dummy/app/models/user.rb
|
411
428
|
- spec/dummy/app/views/layouts/application.html.erb
|
412
429
|
- spec/dummy/app/views/users/_form.html.erb
|
430
|
+
- spec/dummy/app/views/users/_map.html.erb
|
413
431
|
- spec/dummy/app/views/users/edit.html.erb
|
414
432
|
- spec/dummy/app/views/users/index.html.erb
|
415
433
|
- spec/dummy/app/views/users/new.html.erb
|