gmaps4rails 1.2.1 → 1.3.0
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/README.rdoc +5 -3
- data/app/assets/javascripts/gmaps4rails/gmaps4rails.base.js.coffee +1 -0
- data/app/assets/javascripts/gmaps4rails/gmaps4rails.googlemaps.js.coffee +12 -11
- data/app/assets/javascripts/gmaps4rails/gmaps4rails.openlayers.js.coffee +1 -1
- data/app/views/gmaps4rails/_gmaps4rails.html.erb +4 -2
- data/public/javascripts/gmaps4rails/gmaps4rails.base.js +1 -0
- data/public/javascripts/gmaps4rails/gmaps4rails.googlemaps.js +11 -8
- data/public/javascripts/gmaps4rails/gmaps4rails.openlayers.js +4 -3
- metadata +4 -4
data/README.rdoc
CHANGED
|
@@ -27,7 +27,7 @@ Any help would be appreciated to complete this work.
|
|
|
27
27
|
|
|
28
28
|
== Requirements
|
|
29
29
|
- gem 'gmaps4rails' (in your gemfile, then bundle)
|
|
30
|
-
- <%= yield :head %> (in your header)
|
|
30
|
+
- <%= yield :head %> (in your header, Rails 3.0.x only)
|
|
31
31
|
- <%= yield :scripts %> (in your footer)
|
|
32
32
|
|
|
33
33
|
To make Rails serve the assets (javascripts, stylesheets and marker images) you have several options, depending on your configuration and Rails version:
|
|
@@ -43,7 +43,9 @@ To make Rails serve the assets (javascripts, stylesheets and marker images) you
|
|
|
43
43
|
|
|
44
44
|
* //= require gmaps4rails/all_apis.js
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
Stylesheet:
|
|
47
|
+
|
|
48
|
+
* `require gmaps4rails` (if you use the default)
|
|
47
49
|
|
|
48
50
|
- if you are using Rails 3.0:
|
|
49
51
|
see para below to be sure everything will work in production.
|
|
@@ -109,7 +111,7 @@ Done!
|
|
|
109
111
|
|
|
110
112
|
== Todo?
|
|
111
113
|
|
|
112
|
-
Feel free
|
|
114
|
+
Feel free to contact us, you have your say.
|
|
113
115
|
|
|
114
116
|
== Copyright
|
|
115
117
|
MIT license.
|
|
@@ -24,6 +24,7 @@ class @Gmaps4Rails
|
|
|
24
24
|
@callback = -> false #to let user set a custom callback function
|
|
25
25
|
@customClusterer = -> false #to let user set custom clusterer pictures
|
|
26
26
|
@infobox = -> false #to let user use custom infoboxes
|
|
27
|
+
@jsTemplate = false #to let user create infowindows client side
|
|
27
28
|
|
|
28
29
|
@default_map_options =
|
|
29
30
|
id: 'map'
|
|
@@ -211,22 +211,23 @@ class @Gmaps4RailsGoogle extends Gmaps4Rails
|
|
|
211
211
|
#////////////////////////////////////////////////////
|
|
212
212
|
|
|
213
213
|
#// creates infowindows
|
|
214
|
-
createInfoWindow : (marker_container) ->
|
|
215
|
-
if @
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
currentMap = this
|
|
220
|
-
google.maps.event.addListener(marker_container.serviceObject, 'click', @openInfoWindow(currentMap, marker_container.infowindow, marker_container.serviceObject))
|
|
221
|
-
else #creating custom infowindow
|
|
222
|
-
if marker_container.description?
|
|
214
|
+
createInfoWindow : (marker_container) ->
|
|
215
|
+
if typeof(@jsTemplate) == "function" or marker_container.description?
|
|
216
|
+
marker_container.description = @jsTemplate(marker_container) if typeof(@jsTemplate) == "function"
|
|
217
|
+
if @markers_conf.custom_infowindow_class != null
|
|
218
|
+
#creating custom infowindow
|
|
223
219
|
boxText = document.createElement("div")
|
|
224
220
|
boxText.setAttribute("class", @markers_conf.custom_infowindow_class) #to customize
|
|
225
|
-
boxText.innerHTML = marker_container.description
|
|
221
|
+
boxText.innerHTML = marker_container.description
|
|
226
222
|
marker_container.infowindow = new InfoBox(@infobox(boxText))
|
|
227
223
|
currentMap = this
|
|
228
224
|
google.maps.event.addListener(marker_container.serviceObject, 'click', @openInfoWindow(currentMap, marker_container.infowindow, marker_container.serviceObject))
|
|
229
|
-
|
|
225
|
+
else
|
|
226
|
+
#create default infowindow
|
|
227
|
+
marker_container.infowindow = new google.maps.InfoWindow({content: marker_container.description })
|
|
228
|
+
#add the listener associated
|
|
229
|
+
currentMap = this
|
|
230
|
+
google.maps.event.addListener(marker_container.serviceObject, 'click', @openInfoWindow(currentMap, marker_container.infowindow, marker_container.serviceObject))
|
|
230
231
|
|
|
231
232
|
openInfoWindow : (currentMap, infoWindow, marker) ->
|
|
232
233
|
return ->
|
|
@@ -159,7 +159,7 @@ class @Gmaps4RailsOpenlayers extends Gmaps4Rails
|
|
|
159
159
|
if @markerClusterer != null
|
|
160
160
|
@clearClusterer()
|
|
161
161
|
markers_array = new Array
|
|
162
|
-
for marker in markers
|
|
162
|
+
for marker in @markers
|
|
163
163
|
markers_array.push(marker.serviceObject)
|
|
164
164
|
@markerClusterer = @createClusterer markers_array
|
|
165
165
|
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
<% #thanks to enable_css, user can avoid this css to be loaded
|
|
2
2
|
if enable_css == true and options[:scripts].nil? %>
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
<% if Rails::VERSION::MAJOR >= 3 and Rails::VERSION::MINOR < 1 %>
|
|
4
|
+
<% content_for :head do %>
|
|
5
|
+
<%= stylesheet_link_tag 'gmaps4rails' %>
|
|
6
|
+
<% end %>
|
|
5
7
|
<% end %>
|
|
6
8
|
<% end %>
|
|
7
9
|
<% content_for :scripts do %>
|
|
@@ -239,20 +239,23 @@
|
|
|
239
239
|
};
|
|
240
240
|
Gmaps4RailsGoogle.prototype.createInfoWindow = function(marker_container) {
|
|
241
241
|
var boxText, currentMap;
|
|
242
|
-
if (this.
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
return google.maps.event.addListener(marker_container.serviceObject, 'click', this.openInfoWindow(currentMap, marker_container.infowindow, marker_container.serviceObject));
|
|
248
|
-
} else {
|
|
249
|
-
if (marker_container.description != null) {
|
|
242
|
+
if (typeof this.jsTemplate === "function" || (marker_container.description != null)) {
|
|
243
|
+
if (typeof this.jsTemplate === "function") {
|
|
244
|
+
marker_container.description = this.jsTemplate(marker_container);
|
|
245
|
+
}
|
|
246
|
+
if (this.markers_conf.custom_infowindow_class !== null) {
|
|
250
247
|
boxText = document.createElement("div");
|
|
251
248
|
boxText.setAttribute("class", this.markers_conf.custom_infowindow_class);
|
|
252
249
|
boxText.innerHTML = marker_container.description;
|
|
253
250
|
marker_container.infowindow = new InfoBox(this.infobox(boxText));
|
|
254
251
|
currentMap = this;
|
|
255
252
|
return google.maps.event.addListener(marker_container.serviceObject, 'click', this.openInfoWindow(currentMap, marker_container.infowindow, marker_container.serviceObject));
|
|
253
|
+
} else {
|
|
254
|
+
marker_container.infowindow = new google.maps.InfoWindow({
|
|
255
|
+
content: marker_container.description
|
|
256
|
+
});
|
|
257
|
+
currentMap = this;
|
|
258
|
+
return google.maps.event.addListener(marker_container.serviceObject, 'click', this.openInfoWindow(currentMap, marker_container.infowindow, marker_container.serviceObject));
|
|
256
259
|
}
|
|
257
260
|
}
|
|
258
261
|
};
|
|
@@ -148,14 +148,15 @@
|
|
|
148
148
|
return clusters;
|
|
149
149
|
};
|
|
150
150
|
Gmaps4RailsOpenlayers.prototype.clusterize = function() {
|
|
151
|
-
var marker, markers_array, _i, _len;
|
|
151
|
+
var marker, markers_array, _i, _len, _ref;
|
|
152
152
|
if (this.markers_conf.do_clustering === true) {
|
|
153
153
|
if (this.markerClusterer !== null) {
|
|
154
154
|
this.clearClusterer();
|
|
155
155
|
}
|
|
156
156
|
markers_array = new Array;
|
|
157
|
-
|
|
158
|
-
|
|
157
|
+
_ref = this.markers;
|
|
158
|
+
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
|
159
|
+
marker = _ref[_i];
|
|
159
160
|
markers_array.push(marker.serviceObject);
|
|
160
161
|
}
|
|
161
162
|
return this.markerClusterer = this.createClusterer(markers_array);
|
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.
|
|
4
|
+
version: 1.3.0
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -10,11 +10,11 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2011-
|
|
13
|
+
date: 2011-10-03 00:00:00.000000000Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: crack
|
|
17
|
-
requirement: &
|
|
17
|
+
requirement: &2152373580 !ruby/object:Gem::Requirement
|
|
18
18
|
none: false
|
|
19
19
|
requirements:
|
|
20
20
|
- - ! '>='
|
|
@@ -22,7 +22,7 @@ dependencies:
|
|
|
22
22
|
version: '0'
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
|
-
version_requirements: *
|
|
25
|
+
version_requirements: *2152373580
|
|
26
26
|
description: ! 'Enables easy display of items (taken from a Rails 3 model) on a Google
|
|
27
27
|
Maps (JS API V3), OpenLayers, Mapquest and Bing. Geocoding + Directions included.
|
|
28
28
|
Provides much options: markers customization, infowindows, auto-adjusted zoom, polylines,
|