class Nominatim::Search
Attributes
Public Class Methods
# File lib/nominatim/search.rb, line 6 def initialize @criteria = {} end
Public Instance Methods
Include a breakdown of the address into elements.
@param bool [true, false] @return [Nominatim::Search]
# File lib/nominatim/search.rb, line 125 def address_details(bool) @criteria[:addressdetails] = bool ? 1 : 0 self end
Restrict the results to only items contained with the bounding box.
@param bool [true, false] @see wiki.openstreetmap.org/wiki/Nominatim @return [Nominatim::Search]
# File lib/nominatim/search.rb, line 107 def bounded(bool) @criteria[:bounded] = bool ? 1 : 0 self end
City string to search for.
@param city [String] city string @return [Nominatim::Search]
# File lib/nominatim/search.rb, line 38 def city(city) @criteria[:city] = city self end
Country string to search for.
@param country [String] country string @return [Nominatim::Search]
# File lib/nominatim/search.rb, line 65 def country(country) @criteria[:country] = country self end
Limit search results to a specific country (or a list of countries).
@param codes [Array<String>, String] @see wiki.openstreetmap.org/wiki/Nominatim @return [Nominatim::Search]
# File lib/nominatim/search.rb, line 84 def country_codes(codes) if codes.instance_of? Array @criteria[:countrycodes] = codes.join(',') else @criteria[:countrycodes] = codes end self end
County string to search for.
@param county [String] county string @return [Nominatim::Search]
# File lib/nominatim/search.rb, line 47 def county(county) @criteria[:county] = county self end
Iterates over the search results.
# File lib/nominatim/search.rb, line 11 def each(&block) @results ||= get(Nominatim.config.search_url, @criteria).body.map! { |attrs| Nominatim::Place.new(attrs) } @results.each(&block) end
Exclude given place ids from the search result.
@param ids [Array<String>, String] Place
ids @return [Nominatim::Search]
# File lib/nominatim/search.rb, line 134 def exclude_place_ids(ids) if ids.instance_of? Array @criteria[:exclude_place_ids] = ids.join(',') else @criteria[:exclude_place_ids] = ids end self end
Limit results to certain type, instead of trying to match all possible matches.
Possible values:
-
settlement
-
country
-
city
-
state
This feature is not in official Nominatim
documentation.
@param type Type to restrict to @return [Nominatim::Search]
# File lib/nominatim/search.rb, line 165 def featuretype(type) @criteria[:featuretype] = type self end
Limit the number of returned results.
@param limit [Integer] @return [Nominatim::Search]
# File lib/nominatim/search.rb, line 147 def limit(limit) @criteria[:limit] = limit self end
Output polygon outlines for items found.
@param bool [true, false] @return [Nominatim::Search]
# File lib/nominatim/search.rb, line 116 def polygon(bool) @criteria[:polygon] = bool ? 1 : 0 self end
Postal code string to search for.
@param postalcode [String] postalcode string @return [Nominatim::Search]
# File lib/nominatim/search.rb, line 74 def postalcode(postalcode) @criteria[:postalcode] = postalcode self end
Query string to search for.
@param q [String] Query string @return [Nominatim::Search]
# File lib/nominatim/search.rb, line 20 def query(q) @criteria[:q] = q self end
State string to search for.
@param state [String] state string @return [Nominatim::Search]
# File lib/nominatim/search.rb, line 56 def state(state) @criteria[:state] = state self end
Street string to search for.
@param street [String] Street string @return [Nominatim::Search]
# File lib/nominatim/search.rb, line 29 def street(street) @criteria[:street] = street self end
The preferred area to find search results.
@param viewbox [Array<String>] @return [Nominatim::Search]
# File lib/nominatim/search.rb, line 97 def viewbox(viewbox) @criteria[:viewbox] = viewbox.join(',') self end