class GeocoderClient
Class GeocoderClient
represents server request of geocoding API (calculate the location to use for a posting based on location-specific details within the posting such as a street address or a latitude and longitude value).
Its methods are used to query API with appropriate requests: geocode(requests) - returns array of responses
Example:
client = GeocoderClient.new request = GeocoderRequest.new request.latitude = '37.77493' request.longitude = '-122.41942' response = client.geocode(request) response.first.code # => "CAZ" response.first.latitude # => 39.77493 response.first.longitude # => -122.41942
Public Instance Methods
geocode(geocoder_requests)
click to toggle source
Method geocode sends geocode request to Geocode API. Takes array of GeocoderRequest
objects as requests
parameter.
Examples:
request = GeocoderRequest.new client.geocode(request) # => [GeocoderResponse] requests = [GeocoderRequest.new, GeocoderRequest.new] client.geocode(requests) # => [GeocoderResponse, GeocoderResponse]
# File lib/client/geocoder_client.rb, line 34 def geocode(geocoder_requests) geocoder_requests = [geocoder_requests] unless geocoder_requests.is_a? Array params = "data=[" params << geocoder_requests.collect{|request| "#{request.to_params}"}.join(',') params << "]" p params response = execute_post('geocoder/geocode', params) p response p decode(response) GeocoderResponse.from_array(decode(response)) end