gmaps4rails 0.7.5 → 0.7.6

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.
@@ -8,6 +8,9 @@ Gmaps4rails is developped to simply create a Google Map:
8
8
 
9
9
  It's based on Ruby on Rails 3 Engines and uses Google Maps API V3.
10
10
 
11
+ See screencasts here: http://www.youtube.com/user/TheApneadiving
12
+
13
+
11
14
  == Requirements
12
15
  - gem 'gmaps4rails' (in your gemfile, then bundle)
13
16
  - <%= yield :head %> (in your header)
@@ -16,7 +16,7 @@ var Gmaps4Rails = {
16
16
  minZoom: null,
17
17
  auto_adjust : false, //adjust the map to the markers if set to true
18
18
  auto_zoom: true, //zoom given by auto-adjust
19
- bounds: [] //adjust map to these limits only (not taken into account if auto_adjust == true). Should be filled with SW and NE
19
+ bounds: [] //adjust map to these limits. Should be [{"lat": , "lng": }]
20
20
  },
21
21
 
22
22
  //markers + info styling
@@ -43,10 +43,10 @@ var Gmaps4Rails = {
43
43
 
44
44
  //Polygon Styling
45
45
  polygons_conf: { //default style for polygons
46
- strokeColor: "#000",
46
+ strokeColor: "#FFAA00",
47
47
  strokeOpacity: 0.8,
48
48
  strokeWeight: 2,
49
- fillColor: "#000",
49
+ fillColor: "#000000",
50
50
  fillOpacity: 0.35
51
51
  },
52
52
 
@@ -59,9 +59,9 @@ var Gmaps4Rails = {
59
59
 
60
60
  //Circle Styling
61
61
  circles_conf: { //default style for circles
62
- fillColor: "#000",
62
+ fillColor: "#00AAFF",
63
63
  fillOpacity: 0.35,
64
- strokeColor: "#0000",
64
+ strokeColor: "#FFAA00",
65
65
  strokeOpacity: 0.8,
66
66
  strokeWeight: 2
67
67
  },
@@ -132,7 +132,7 @@ var Gmaps4Rails = {
132
132
  create_circles: function(){
133
133
  for (var i = 0; i < this.circles.length; ++i) {
134
134
  //by convention, default style configuration could be integrated in the first element
135
- if ( i == 0 )
135
+ if ( i === 0 )
136
136
  {
137
137
  if (this.exists(this.circles[i].strokeColor )) { this.circles_conf.strokeColor = this.circles[i].strokeColor; }
138
138
  if (this.exists(this.circles[i].strokeOpacity)) { this.circles_conf.strokeOpacity = this.circles[i].strokeOpacity; }
@@ -163,7 +163,7 @@ var Gmaps4Rails = {
163
163
  //polygons is an array of arrays. It loops.
164
164
  create_polygons: function(){
165
165
  for (var i = 0; i < this.polygons.length; ++i) {
166
- this.create_polygon(i)
166
+ this.create_polygon(i);
167
167
  }
168
168
  },
169
169
 
@@ -180,7 +180,7 @@ var Gmaps4Rails = {
180
180
  var latlng = new google.maps.LatLng(this.polygons[i][j].latitude, this.polygons[i][j].longitude);
181
181
  polygon_coordinates.push(latlng);
182
182
  //first element of an Array could contain specific configuration for this particular polygon. If no config given, use default
183
- if (j==0) {
183
+ if (j===0) {
184
184
  strokeColor = this.polygons[i][j].strokeColor || this.polygons_conf.strokeColor;
185
185
  strokeOpacity = this.polygons[i][j].strokeOpacity || this.polygons_conf.strokeOpacity;
186
186
  strokeWeight = this.polygons[i][j].strokeWeight || this.polygons_conf.strokeWeight;
@@ -232,7 +232,7 @@ var Gmaps4Rails = {
232
232
  //or we have an array of latlng
233
233
  else{
234
234
  //by convention, a single polyline could be customized in the first array or it uses default values
235
- if (j==0){
235
+ if (j===0){
236
236
  strokeColor = this.polylines[i][0].strokeColor || this.polylines_conf.strokeColor;
237
237
  strokeOpacity = this.polylines[i][0].strokeOpacity || this.polylines_conf.strokeOpacity;
238
238
  strokeWeight = this.polylines[i][0].strokeWeight || this.polylines_conf.strokeWeight;
@@ -258,45 +258,6 @@ var Gmaps4Rails = {
258
258
  new_poly.setMap(this.map);
259
259
  },
260
260
 
261
- // clear markers
262
- clear_markers: function(){
263
- if (this.markerClusterer != null){
264
- this.markerClusterer.clearMarkers();
265
- }
266
- for (var i = 0; i < this.markers.length; ++i) {
267
- this.markers[i].google_object.setMap(null);
268
- }
269
- },
270
-
271
- // replace old markers with new markers on an existing map
272
- replace_markers: function(new_markers){
273
- //reset previous markers
274
- this.markers = new Array;
275
- //reset current bounds
276
- this.google_bounds = new google.maps.LatLngBounds();
277
- //reset sidebar content if exists
278
- this.reset_sidebar_content();
279
- //add new markers
280
- this.add_markers(new_markers);
281
- },
282
-
283
- reset_sidebar_content: function(){
284
- if (this.markers_conf.list_container != null ){
285
- var ul = document.getElementById(this.markers_conf.list_container);
286
- ul.innerHTML = "";
287
- }
288
- },
289
-
290
- //add new markers to on an existing map (beware, it doesn't check duplicates)
291
- add_markers: function(new_markers){
292
- //clear the whole map
293
- this.clear_markers();
294
- //update the list of markers to take into account
295
- this.markers = this.markers.concat(new_markers);
296
- //put markers on the map
297
- this.create_markers();
298
- },
299
-
300
261
  //creates, clusterizes and adjusts map
301
262
  create_markers: function() {
302
263
  this.create_google_markers_from_markers();
@@ -328,7 +289,7 @@ var Gmaps4Rails = {
328
289
  var myLatLng = new google.maps.LatLng(Lat, Lng);
329
290
 
330
291
  // Marker sizes are expressed as a Size of X,Y
331
- if (marker_picture == "")
292
+ if (marker_picture === "")
332
293
  { var ThisMarker = new google.maps.Marker({position: myLatLng, map: this.map, title: marker_title}); }
333
294
  else
334
295
  {
@@ -345,6 +306,53 @@ var Gmaps4Rails = {
345
306
  }
346
307
 
347
308
  },
309
+
310
+ // clear markers
311
+ clear_markers: function(){
312
+ if (this.markerClusterer !== null){
313
+ this.markerClusterer.clearMarkers();
314
+ }
315
+ for (var i = 0; i < this.markers.length; ++i) {
316
+ this.markers[i].google_object.setMap(null);
317
+ }
318
+ },
319
+
320
+ // replace old markers with new markers on an existing map
321
+ replace_markers: function(new_markers){
322
+ //reset previous markers
323
+ this.markers = new Array;
324
+ //reset current bounds
325
+ this.google_bounds = new google.maps.LatLngBounds();
326
+ //reset sidebar content if exists
327
+ this.reset_sidebar_content();
328
+ //add new markers
329
+ this.add_markers(new_markers);
330
+ },
331
+
332
+ //add new markers to on an existing map
333
+ add_markers: function(new_markers){
334
+ //clear the whole map
335
+ this.clear_markers();
336
+ //update the list of markers to take into account
337
+ this.markers = this.markers.concat(new_markers);
338
+ //put markers on the map
339
+ this.create_markers();
340
+ },
341
+
342
+ //creates clusters
343
+ clusterize: function()
344
+ {
345
+ if (this.markers_conf.do_clustering === true)
346
+ {
347
+ var gmarkers_array = new Array;
348
+ for (var i = 0; i < this.markers.length; ++i) {
349
+ gmarkers_array.push(this.markers[i].google_object);
350
+ }
351
+
352
+
353
+ this.markerClusterer = new MarkerClusterer(this.map, gmarkers_array, { maxZoom: this.markers_conf.clusterer_maxZoom, gridSize: this.markers_conf.clusterer_gridSize });
354
+ }
355
+ },
348
356
 
349
357
  // creates infowindows
350
358
  create_info_window: function(marker_container){
@@ -354,7 +362,19 @@ var Gmaps4Rails = {
354
362
  google.maps.event.addListener(marker_container.google_object, 'click', this.openInfoWindow(info_window, marker_container.google_object));
355
363
 
356
364
  },
357
-
365
+
366
+ openInfoWindow: function(infoWindow, marker) {
367
+ return function() {
368
+ // Close the latest selected marker before opening the current one.
369
+ if (Gmaps4Rails.visibleInfoWindow) {
370
+ Gmaps4Rails.visibleInfoWindow.close();
371
+ }
372
+
373
+ infoWindow.open(Gmaps4Rails.map, marker);
374
+ Gmaps4Rails.visibleInfoWindow = infoWindow;
375
+ };
376
+ },
377
+
358
378
  //creates sidebar
359
379
  create_sidebar: function(marker_container){
360
380
  if (this.markers_conf.list_container)
@@ -377,36 +397,13 @@ var Gmaps4Rails = {
377
397
  Gmaps4Rails.map.panTo(marker.position);
378
398
  google.maps.event.trigger(marker, eventType);
379
399
  };
380
- },
381
-
382
- openInfoWindow: function(infoWindow, marker) {
383
- return function() {
384
- // Close the latest selected marker before opening the current one.
385
- if (Gmaps4Rails.visibleInfoWindow) {
386
- Gmaps4Rails.visibleInfoWindow.close();
387
- }
388
-
389
- infoWindow.open(Gmaps4Rails.map, marker);
390
- Gmaps4Rails.visibleInfoWindow = infoWindow;
391
- };
392
- },
400
+ },
393
401
 
394
- //creates clusters
395
- clusterize: function()
396
- {
397
- if (this.markers_conf.do_clustering == true)
398
- {
399
- var gmarkers_array = new Array;
400
- for (var i = 0; i < this.markers.length; ++i) {
401
- gmarkers_array.push(this.markers[i].google_object);
402
- }
403
-
404
-
405
- this.markerClusterer = new MarkerClusterer(this.map, gmarkers_array, { maxZoom: this.markers_conf.clusterer_maxZoom,
406
- gridSize: this.markers_conf.clusterer_gridSize,
407
- //styles: styles TODO: offer clusterer customization
408
- });
409
- }
402
+ reset_sidebar_content: function(){
403
+ if (this.markers_conf.list_container !== null ){
404
+ var ul = document.getElementById(this.markers_conf.list_container);
405
+ ul.innerHTML = "";
406
+ }
410
407
  },
411
408
 
412
409
  //to make the map fit the different LatLng points
@@ -414,7 +411,7 @@ var Gmaps4Rails = {
414
411
 
415
412
  //FIRST_STEP: retrieve all bounds
416
413
  //create the bounds object only if necessary
417
- if (this.map_options.auto_adjust || this.map_options.bounds != null) {
414
+ if (this.map_options.auto_adjust || this.map_options.bounds !== null) {
418
415
  this.google_bounds = new google.maps.LatLngBounds();
419
416
  }
420
417
 
@@ -463,7 +460,7 @@ var Gmaps4Rails = {
463
460
 
464
461
  //basic function to check existence of a variable
465
462
  exists: function(var_name) {
466
- return var_name != "" && typeof var_name !== "undefined"
463
+ return var_name !== "" && typeof var_name !== "undefined"
467
464
  },
468
465
 
469
466
  //randomize
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: 9
4
+ hash: 15
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 7
9
- - 5
10
- version: 0.7.5
9
+ - 6
10
+ version: 0.7.6
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: 2011-04-09 00:00:00 +02:00
19
+ date: 2011-04-16 00:00:00 +02:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency