gmaps4rails 1.4.2 → 1.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/app/views/gmaps4rails/_gmaps4rails.html.erb +5 -46
- data/app/views/gmaps4rails/_html.html.erb +12 -0
- data/app/views/gmaps4rails/_scripts.html.erb +31 -0
- data/lib/gmaps4rails.rb +5 -1
- data/lib/gmaps4rails/acts_as_gmappable.rb +2 -1
- data/lib/gmaps4rails/helper/gmaps4rails_helper.rb +18 -10
- data/lib/gmaps4rails/js_handler.rb +1 -2
- data/public/javascripts/gmaps4rails/gmaps4rails.base.js +18 -3
- metadata +6 -4
@@ -6,55 +6,14 @@ if enable_css == true && options[:scripts].nil? %>
|
|
6
6
|
<% end %>
|
7
7
|
<% end %>
|
8
8
|
<% end %>
|
9
|
+
|
9
10
|
<% content_for :scripts do %>
|
10
|
-
<% if enable_js == true && options[:scripts].try(:to_sym) != :none %>
|
11
|
-
<% case options[:map_options].try(:[], :provider) %>
|
12
|
-
<% when "openlayers" %>
|
13
|
-
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
|
14
|
-
<% when "mapquest" %>
|
15
|
-
<script src="http://mapquestapi.com/sdk/js/v6.0.0/mqa.toolkit.js?key=<%= options[:map_options].try(:[], :provider_key) %>"></script>
|
16
|
-
<% when "bing" %>
|
17
|
-
<script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script>
|
18
|
-
<% else %>
|
19
|
-
<script type="text/javascript" src="//maps.google.com/maps/api/js?v=3.5&sensor=false&libraries=geometry<%= g_libraries(options[:map_options].try(:[], :libraries)) %>"></script>
|
20
|
-
<script type="text/javascript" src="//google-maps-utility-library-v3.googlecode.com/svn/tags/infobox/1.1.9/src/infobox_packed.js"></script>
|
21
|
-
<script type="text/javascript" src="//google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.0.5/src/markerclusterer_packed.js"></script>
|
22
|
-
<script type="text/javascript" src="//google-maps-utility-library-v3.googlecode.com/svn/trunk/richmarker/src/richmarker-compiled.js"></script>
|
23
|
-
<% end %>
|
24
|
-
|
25
|
-
<% if Rails::VERSION::MAJOR >= 3 && Rails::VERSION::MINOR < 1 %>
|
26
|
-
<% unless options[:scripts].try(:to_sym) == :api %>
|
27
|
-
<%= javascript_include_tag 'gmaps4rails/gmaps4rails.base.js' %>
|
28
|
-
<% end %>
|
29
|
-
<% case options[:map_options].try(:[], :provider) %>
|
30
|
-
<% when "openlayers" %>
|
31
|
-
<%= javascript_include_tag 'gmaps4rails/gmaps4rails.openlayers.js' %>
|
32
|
-
<% when "mapquest" %>
|
33
|
-
<%= javascript_include_tag 'gmaps4rails/gmaps4rails.mapquest.js' %>
|
34
|
-
<% when "bing" %>
|
35
|
-
<%= javascript_include_tag 'gmaps4rails/gmaps4rails.bing.js' %>
|
36
|
-
<% else %>
|
37
|
-
<%= javascript_include_tag 'gmaps4rails/gmaps4rails.googlemaps.js' %>
|
38
|
-
<% end %>
|
39
|
-
<% end %>
|
40
|
-
<% end %>
|
41
|
-
<script type="text/javascript" charset="utf-8">
|
42
11
|
|
12
|
+
<%= gmaps4rails_js_files(options[:map_options], options[:scripts], enable_js) %>
|
13
|
+
<script type="text/javascript" charset="utf-8">
|
43
14
|
<%=raw options.to_gmaps4rails %>
|
44
|
-
|
45
15
|
</script>
|
46
|
-
<% end %>
|
47
16
|
|
17
|
+
<% end %>
|
48
18
|
|
49
|
-
|
50
|
-
<% when "mapquest" %>
|
51
|
-
<div id="<%= gmaps_map_id(options) %>" style="width:750px; height:475px;">
|
52
|
-
<!-- TODO: change this style dynamically -->
|
53
|
-
</div>
|
54
|
-
<% when "bing" %>
|
55
|
-
<div id="<%= gmaps_map_id(options) %>" class="<%= gmaps_map_class(options) %>"></div>
|
56
|
-
<% else %>
|
57
|
-
<div class="<%= gmaps_container_class(options) %>">
|
58
|
-
<div id="<%= gmaps_map_id(options) %>" class="<%= gmaps_map_class(options) %>"></div>
|
59
|
-
</div>
|
60
|
-
<% end %>
|
19
|
+
<%= gmaps4rails_html(options[:map_options]) %>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<% case map_options.try(:[], :provider) %>
|
2
|
+
<% when "mapquest" %>
|
3
|
+
<div id="<%= gmaps4rails_map_id(map_options) %>" style="width:750px; height:475px;">
|
4
|
+
<!-- TODO: change this style dynamically -->
|
5
|
+
</div>
|
6
|
+
<% when "bing" %>
|
7
|
+
<div id="<%= gmaps4rails_map_id(map_options) %>" class="<%= gmaps4rails_map_class(map_options) %>"></div>
|
8
|
+
<% else %>
|
9
|
+
<div class="<%= gmaps4rails_container_class(map_options) %>">
|
10
|
+
<div id="<%= gmaps4rails_map_id(map_options) %>" class="<%= gmaps4rails_map_class(map_options) %>"></div>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<% if enable_js == true && scripts.try(:to_sym) != :none %>
|
2
|
+
<% case map_options.try(:[], :provider) %>
|
3
|
+
<% when "openlayers" %>
|
4
|
+
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
|
5
|
+
<% when "mapquest" %>
|
6
|
+
<script src="http://mapquestapi.com/sdk/js/v6.0.0/mqa.toolkit.js?key=<%= map_options.try(:[], :provider_key) %>"></script>
|
7
|
+
<% when "bing" %>
|
8
|
+
<script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script>
|
9
|
+
<% else %>
|
10
|
+
<script type="text/javascript" src="//maps.google.com/maps/api/js?v=3.5&sensor=false&libraries=geometry<%= gmaps4rails_js_libraries(map_options.try(:[], :libraries)) %>"></script>
|
11
|
+
<script type="text/javascript" src="//google-maps-utility-library-v3.googlecode.com/svn/tags/infobox/1.1.9/src/infobox_packed.js"></script>
|
12
|
+
<script type="text/javascript" src="//google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.0.5/src/markerclusterer_packed.js"></script>
|
13
|
+
<script type="text/javascript" src="//google-maps-utility-library-v3.googlecode.com/svn/trunk/richmarker/src/richmarker-compiled.js"></script>
|
14
|
+
<% end %>
|
15
|
+
|
16
|
+
<% if Rails::VERSION::MAJOR >= 3 && Rails::VERSION::MINOR < 1 %>
|
17
|
+
<% unless scripts.try(:to_sym) == :api %>
|
18
|
+
<%= javascript_include_tag 'gmaps4rails/gmaps4rails.base.js' %>
|
19
|
+
<% end %>
|
20
|
+
<% case map_options.try(:[], :provider) %>
|
21
|
+
<% when "openlayers" %>
|
22
|
+
<%= javascript_include_tag 'gmaps4rails/gmaps4rails.openlayers.js' %>
|
23
|
+
<% when "mapquest" %>
|
24
|
+
<%= javascript_include_tag 'gmaps4rails/gmaps4rails.mapquest.js' %>
|
25
|
+
<% when "bing" %>
|
26
|
+
<%= javascript_include_tag 'gmaps4rails/gmaps4rails.bing.js' %>
|
27
|
+
<% else %>
|
28
|
+
<%= javascript_include_tag 'gmaps4rails/gmaps4rails.googlemaps.js' %>
|
29
|
+
<% end %>
|
30
|
+
<% end %>
|
31
|
+
<% end %>
|
data/lib/gmaps4rails.rb
CHANGED
@@ -17,6 +17,10 @@ if defined?(Rails) && Rails::VERSION::MAJOR == 3
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
+
end
|
21
|
+
|
22
|
+
class Railtie < Rails::Railtie
|
23
|
+
|
20
24
|
initializer "include acts_as_gmappable within ORM" do
|
21
25
|
ActiveSupport.on_load(:active_record) do
|
22
26
|
ActiveRecord::Base.send(:include, Gmaps4rails::ActsAsGmappable)
|
@@ -26,7 +30,7 @@ if defined?(Rails) && Rails::VERSION::MAJOR == 3
|
|
26
30
|
Mongoid::Document.send(:include, Gmaps4rails::ActsAsGmappable)
|
27
31
|
end
|
28
32
|
end
|
29
|
-
|
33
|
+
|
30
34
|
end
|
31
35
|
end
|
32
36
|
end
|
@@ -38,7 +38,8 @@ module Gmaps4rails
|
|
38
38
|
|
39
39
|
def to_gmaps4rails(&block)
|
40
40
|
json = "["
|
41
|
-
|
41
|
+
object_json = Gmaps4rails.create_json(self, &block)
|
42
|
+
json << object_json.to_s unless json.nil?
|
42
43
|
json << "]"
|
43
44
|
end
|
44
45
|
|
@@ -7,30 +7,38 @@ module Gmaps4railsHelper
|
|
7
7
|
:map_options => { :auto_adjust => true},
|
8
8
|
:markers => { :data => builder, :options => {:do_clustering => true} }
|
9
9
|
}
|
10
|
-
render :partial => 'gmaps4rails/gmaps4rails', :locals => { :options => options, :enable_css => enable_css, :enable_js => enable_js }
|
10
|
+
render :partial => 'gmaps4rails/gmaps4rails', :locals => { :options => options.with_indifferent_access, :enable_css => enable_css, :enable_js => enable_js }
|
11
11
|
end
|
12
12
|
|
13
13
|
# complete helper to pass all variables alongside their options
|
14
14
|
|
15
15
|
def gmaps(options, enable_css = true, enable_js = true )
|
16
|
-
render :partial => 'gmaps4rails/gmaps4rails', :locals => { :options => options, :enable_css => enable_css, :enable_js => enable_js }
|
16
|
+
render :partial => 'gmaps4rails/gmaps4rails', :locals => { :options => options.with_indifferent_access, :enable_css => enable_css, :enable_js => enable_js }
|
17
17
|
end
|
18
18
|
|
19
|
-
def
|
19
|
+
def gmaps4rails_js_libraries(libraries_array)
|
20
20
|
return "" if libraries_array.nil?
|
21
21
|
"," + libraries_array.join(",")
|
22
22
|
end
|
23
23
|
|
24
|
-
def
|
25
|
-
|
24
|
+
def gmaps4rails_map_id(map_options)
|
25
|
+
map_options.try(:[], :id) || Gmaps4rails::DEFAULT_MAP_ID
|
26
26
|
end
|
27
27
|
|
28
|
-
def
|
29
|
-
|
28
|
+
def gmaps4rails_container_class(map_options)
|
29
|
+
map_options.try(:[], :container_class) || "map_container"
|
30
30
|
end
|
31
31
|
|
32
|
-
def
|
33
|
-
default_class =
|
34
|
-
|
32
|
+
def gmaps4rails_map_class(map_options)
|
33
|
+
default_class = map_options.try(:[], :provider) == "bing" ? "bing_map" : "gmaps4rails_map"
|
34
|
+
map_options.try(:[], :class) || default_class
|
35
|
+
end
|
36
|
+
|
37
|
+
def gmaps4rails_js_files(map_options = nil, scripts = nil, enable_js = true)
|
38
|
+
render "gmaps4rails/scripts", :map_options => map_options, :scripts => scripts, :enable_js => enable_js
|
39
|
+
end
|
40
|
+
|
41
|
+
def gmaps4rails_html(map_options = nil)
|
42
|
+
render "gmaps4rails/html", :map_options => map_options
|
35
43
|
end
|
36
44
|
end
|
@@ -31,7 +31,6 @@ module Gmaps4rails
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def Gmaps4rails.create_general_js(hash, map_id, category)
|
34
|
-
hash = hash.with_indifferent_access
|
35
34
|
output = Array.new
|
36
35
|
output << "#{map_id}.#{category} = #{hash[:data]};"
|
37
36
|
hash[:options] ||= Array.new
|
@@ -47,7 +46,6 @@ module Gmaps4rails
|
|
47
46
|
end
|
48
47
|
|
49
48
|
def Gmaps4rails.create_direction_js(hash, map_id)
|
50
|
-
hash = hash.with_indifferent_access
|
51
49
|
output = Array.new
|
52
50
|
output << "#{map_id}.direction_conf.origin = '#{hash["data"]["from"]}';"
|
53
51
|
output << "#{map_id}.direction_conf.destination = '#{hash["data"]["to"]}';"
|
@@ -77,6 +75,7 @@ module Gmaps4rails
|
|
77
75
|
# :direction => { :data => hash, :options => hash },
|
78
76
|
# :kml => { :data => json, :options => hash }
|
79
77
|
#}
|
78
|
+
#should be with only symbol keys or with indifferent access
|
80
79
|
def Gmaps4rails.create_js_from_hash(hash)
|
81
80
|
result = Array.new
|
82
81
|
map_id = "Gmaps." + Gmaps4rails.get_map_id(hash[:map_options])
|
@@ -237,10 +237,25 @@
|
|
237
237
|
strokeWeight: strokeWeight,
|
238
238
|
fillColor: fillColor,
|
239
239
|
fillOpacity: fillOpacity,
|
240
|
-
clickable: false
|
240
|
+
clickable: false,
|
241
|
+
map: this.map
|
241
242
|
});
|
242
|
-
polygon.serviceObject = new_poly;
|
243
|
-
|
243
|
+
return polygon.serviceObject = new_poly;
|
244
|
+
};
|
245
|
+
Gmaps4Rails.prototype.replacePolylines = function(new_polylines) {
|
246
|
+
this.destroy_polylines();
|
247
|
+
this.polylines = new_polylines;
|
248
|
+
this.create_polylines();
|
249
|
+
return this.adjustMapToBounds();
|
250
|
+
};
|
251
|
+
Gmaps4Rails.prototype.destroy_polylines = function() {
|
252
|
+
var polyline, _i, _len, _ref;
|
253
|
+
_ref = this.polylines;
|
254
|
+
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
255
|
+
polyline = _ref[_i];
|
256
|
+
polyline.serviceObject.setMap(null);
|
257
|
+
}
|
258
|
+
return this.polylines = [];
|
244
259
|
};
|
245
260
|
Gmaps4Rails.prototype.create_polylines = function() {
|
246
261
|
var polyline, _i, _len, _ref, _results;
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gmaps4rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 1
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 1.4.
|
9
|
+
- 3
|
10
|
+
version: 1.4.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Benjamin Roth
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2012-01-
|
19
|
+
date: 2012-01-20 00:00:00 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: json
|
@@ -55,6 +55,8 @@ files:
|
|
55
55
|
- app/assets/javascripts/gmaps4rails/mapquest.js
|
56
56
|
- app/assets/javascripts/gmaps4rails/openlayers.js
|
57
57
|
- app/views/gmaps4rails/_gmaps4rails.html.erb
|
58
|
+
- app/views/gmaps4rails/_html.html.erb
|
59
|
+
- app/views/gmaps4rails/_scripts.html.erb
|
58
60
|
- lib/generators/gmaps4rails/install_generator.rb
|
59
61
|
- lib/generators/templates/README
|
60
62
|
- lib/gmaps4rails.rb
|