lib/geokit/geocoders/google.rb in geokit-1.13.1 vs lib/geokit/geocoders/google.rb in geokit-1.14.0
- old
+ new
@@ -106,11 +106,12 @@
end
end
def self.construct_components_string_from_options(components={})
unless components.empty?
- "&components=#{components.to_a.map { |pair| pair.join(':').downcase }.join(CGI.escape('|'))}"
+ escaped_components = Geokit::Inflector.url_escape(components.to_a.map { |pair| pair.join(":").downcase }.join("|"))
+ "&components=#{escaped_components}"
end
end
def self.parse_json(results)
case results['status']
@@ -213,9 +214,10 @@
when types.include?('country')
loc.country_code = comp['short_name']
loc.country = comp['long_name']
when types.include?('administrative_area_level_2')
loc.district = comp['long_name']
+ loc.county = comp['long_name']
when types.include?('neighborhood')
loc.neighborhood = comp['short_name']
# Use either sublocality or admin area level 3 if google does not return a city
when types.include?('sublocality')
loc.city = comp['long_name'] if loc.city.nil?