rails-google-maps 0.0.11 → 0.0.12

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.md CHANGED
@@ -1,6 +1,9 @@
1
- # RailsGoogleMaps
1
+ # Rails + Google Maps
2
2
 
3
- TODO: Write a gem description
3
+ * Gem provides small js library to simplify communication with google maps.
4
+ * jQuery Autocomplete integration.
5
+
6
+ Something was taken from https://github.com/rjshade/gmaps-autocomplete
4
7
 
5
8
  ## Installation
6
9
 
@@ -16,9 +19,63 @@ Or install it yourself as:
16
19
 
17
20
  $ gem install rails_google_maps
18
21
 
22
+ To use this gem you need to require google map script on the top of your layout(before including application.js).
23
+ Haml example:
24
+ ```ruby
25
+ - unless Rails.env == 'test' # we don't like to load gmaps while testing
26
+ %script{:src => "http://maps.googleapis.com/maps/api/js?sensor=false", :type => "text/javascript"}
27
+ ```
28
+
29
+ And include it in your ```application.js``` file after jquery:
30
+ ```
31
+ //= require rails_google_maps
32
+ ```
33
+
34
+
19
35
  ## Usage
20
36
 
21
- TODO: Write usage instructions here
37
+ 1) Apply google map to div element where map should appear:
38
+ ```js
39
+ (new GoogleMap()).apply()
40
+ ```
41
+ By default it will be applied to the element with id '#gmaps-canvas', but it can be customized:
42
+ ```js
43
+ (new GoogleMap({selector: '#gmaps'})).apply()
44
+ ```
45
+
46
+ 2) Store selected point (latitude and longitude) in input fields:
47
+ ```js
48
+ new GoogleMap({longitudeInput: '#longitude_input', latitudeInput: '#latitude_input'})
49
+ ```
50
+
51
+ 3) Set preferred location from your code:
52
+ ```js
53
+ gmap = new GoogleMap()
54
+ gmap.apply()
55
+ gmap.geocodeLookup('address', 'New York')
56
+ //or
57
+ gmap.geocodeLookup('latLng', new google.maps.LatLng(51.751724,-1.255284))
58
+ ```
59
+
60
+ 4) Prevent users from changing location:
61
+ ```js
62
+ new GoogleMap({immutable: true})
63
+ ```
64
+
65
+ 5) Integrate map with jquery-autocomplete:
66
+ ```js
67
+ gmap = new GoogleMap()
68
+ autoComplete = new GmapAutocomplete('#gmaps-input-address', gmap)
69
+ autoComplete.apply()
70
+ gmap.apply()
71
+ ```
72
+ 6) Add errors (these - are defaults):
73
+ ```js
74
+ (new GoogleMap({errorField: "#gmaps-error"})).apply() // default errorField is "#gmaps-error"
75
+ GmapErrors.wrongInputText = "Sorry, something went wrong. Try again!"
76
+ GmapErrors.incorrectLatLngText = "Woah... that's pretty remote! You're going to have to manually enter a place name."
77
+ GmapErrors.incorrectAddressText = function(value){"Sorry! We couldn't find " + value + ". Try a different search term, or click the map."}
78
+ ```
22
79
 
23
80
  ## Contributing
24
81
 
@@ -0,0 +1,2 @@
1
+ require "rails-google-maps/version"
2
+ require "rails-google-maps/rails" if defined?(Rails)
@@ -1,5 +1,3 @@
1
- require "rails_google_maps/version"
2
-
3
1
  module RailsGoogleMaps
4
2
  module Rails
5
3
  class Engine < ::Rails::Engine
@@ -1,3 +1,3 @@
1
1
  module RailsGoogleMaps
2
- VERSION = "0.0.11"
2
+ VERSION = "0.0.12"
3
3
  end
@@ -1,7 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'rails_google_maps/version'
4
+ require 'rails-google-maps/version'
5
5
 
6
6
  Gem::Specification.new do |gem|
7
7
  gem.name = "rails-google-maps"
@@ -12,12 +12,11 @@ Gem::Specification.new do |gem|
12
12
  gem.summary = 'Provides simple way to add google maps to your app'
13
13
  gem.homepage = 'http://github.com/yratanov/rails_google_maps'
14
14
 
15
- gem.files = `git ls-files`.split("\n")
15
+ gem.files = `git ls-files`.split($/)
16
16
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ['lib']
19
19
 
20
20
  gem.add_dependency 'rails', '~>3.0'
21
21
  gem.add_dependency 'jquery-rails'
22
- gem.add_dependency 'railties', '~> 3.1'
23
22
  end
@@ -52,7 +52,7 @@ class root.GmapAutocomplete extends Autocomplete
52
52
  self = this
53
53
  $(@selector).bind 'keydown', (event)->
54
54
  if event.keyCode == 13
55
- self.gmap.geocodeLookup 'address', $(self.selector).val(), true
55
+ self.gmap.geocodeLookup 'address', $(self.selector).val()
56
56
  $(self.selector).autocomplete "disable"
57
57
  else
58
58
  $(self.selector).autocomplete "enable"
@@ -11,6 +11,8 @@ class root.GoogleMap
11
11
 
12
12
  #defines whether user can change map pin or not
13
13
  immutable = false
14
+ mapSelector = "#gmaps-canvas"
15
+ errorField = "#gmaps-error"
14
16
 
15
17
  _applied: false
16
18
 
@@ -22,10 +24,12 @@ class root.GoogleMap
22
24
 
23
25
  # options: object options
24
26
  # gmapOptions: google map api options
25
- constructor: (options = {}, gmapOptions = {}, @mapSelector = "#gmaps-canvas", @errorField = '#gmaps-error')->
27
+ constructor: (options = {}, gmapOptions = {})->
26
28
  @gmapOptions = $.extend {}, GoogleMap.defaultGmapOptions, gmapOptions
27
29
  @immutable = true if options['immutable']
28
- if options['saveLatLang']
30
+ @mapSelector = options['selector'] if options['selector']
31
+ @errorField = options['errorField'] if options['errorField']
32
+ if options['longitudeInput'] and options['latitudeInput']
29
33
  @saveLangLat = true
30
34
  @longitudeInput = options['longitudeInput']
31
35
  @latitudeInput = options['latitudeInput']
@@ -48,7 +52,7 @@ class root.GoogleMap
48
52
  applied: ()->
49
53
  @_applied
50
54
 
51
- geocodeLookup: (type, value, update = false)->
55
+ geocodeLookup: (type, value, update = true)->
52
56
  request = {}
53
57
  request[type] = value
54
58
  self = this
@@ -63,10 +67,10 @@ class root.GoogleMap
63
67
  self = this
64
68
  return if @immutable
65
69
  google.maps.event.addListener @marker, 'dragend', () ->
66
- self.geocodeLookup 'latLng', self.marker.getPosition()
70
+ self.geocodeLookup 'latLng', self.marker.getPosition(), false
67
71
  google.maps.event.addListener @map, 'click', (event) ->
68
72
  self.marker.setPosition event.latLng
69
- self.geocodeLookup 'latLng', event.latLng
73
+ self.geocodeLookup 'latLng', event.latLng, false
70
74
 
71
75
  _succeed: (results, update)->
72
76
  if results[0]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-google-maps
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -43,22 +43,6 @@ dependencies:
43
43
  - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
45
  version: '0'
46
- - !ruby/object:Gem::Dependency
47
- name: railties
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ~>
52
- - !ruby/object:Gem::Version
53
- version: '3.1'
54
- type: :runtime
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ~>
60
- - !ruby/object:Gem::Version
61
- version: '3.1'
62
46
  description: Provides simple way to add google maps to your app
63
47
  email:
64
48
  - yratanov@gmail.com
@@ -71,12 +55,12 @@ files:
71
55
  - LICENSE.txt
72
56
  - README.md
73
57
  - Rakefile
74
- - lib/rails_google_maps.rb
75
- - lib/rails_google_maps/version.rb
76
- - rails_google_maps.gemspec
58
+ - lib/rails-google-maps.rb
59
+ - lib/rails-google-maps/rails.rb
60
+ - lib/rails-google-maps/version.rb
61
+ - rails-google-maps.gemspec
77
62
  - vendor/assets/javascripts/autocomplete.js.coffee
78
- - vendor/assets/javascripts/gmaps.js.coffee
79
- - vendor/assets/javascripts/test.js
63
+ - vendor/assets/javascripts/rails_google_maps.js.coffee
80
64
  homepage: http://github.com/yratanov/rails_google_maps
81
65
  licenses: []
82
66
  post_install_message:
File without changes