def spots_by_query(query, options = {})
      options = @options.merge(options)
      detail = options.delete(:detail)
      collection_detail_level(
        Spot.list_by_query(query, @api_key, options),
        detail
      )
    end
def spots_by_query(query, options = {})
      options = @options.merge(options)
      detail = options.delete(:detail)
      collection_detail_level(
        Spot.list_by_query(query, @api_key, options),
        detail
      )
    end
Search for Spots with a query

 @return [Array<Spot>]
 @param [String] query the query to search for
 @param [Hash] options
 @option options [String,Integer] lat the latitude for the search
 @option options [String,Integer] lng the longitude for the search
 @option options [Integer] :radius (1000)
   Defines the distance (in meters) within which to return Place results.
   The maximum allowed radius is 50,000 meters.
   Note that radius must not be included if :rankby => 'distance' (described below) is specified.
   <b>Note that this is a mandatory parameter</b>
 @option options [String] :rankby
   Specifies the order in which results are listed. Possible values are:
   - prominence (default). This option sorts results based on their importance.
     Ranking will favor prominent places within the specified area.
     Prominence can be affected by a Place's ranking in Google's index,
     the number of check-ins from your application, global popularity, and other factors.
   - distance. This option sorts results in ascending order by their distance from the specified location.
     Ranking results by distance will set a fixed search radius of 50km.
     One or more of keyword, name, or types is required.                                                                                                                                                                                                                                                                                       distance. This option sorts results in ascending order by their distance from the specified location. Ranking results by distance will set a fixed search radius of 50km. One or more of keyword, name, or types is required.
 @option options [String,Array] :types
   Restricts the results to Spots matching at least one of the specified types
 @option options [String] :language
   The language code, indicating in which language the results should be returned, if possible.
 @option options [String,Array<String>] :exclude ([])
   A String or an Array of <b>types</b> to exclude from results

 @option options [Hash] :retry_options ({})
   A Hash containing parameters for search retries
 @option options [Object] :retry_options[:status] ([])
 @option options [Integer] :retry_options[:max] (0) the maximum retries
 @option options [Integer] :retry_options[:delay] (5) the delay between each retry in seconds
 @option options [Boolean] :detail
   A boolean to return spots with full detail information(its complete address, phone number, user rating, reviews, etc)
   Note) This makes an extra call for each spot for more information.

 @see http://spreadsheets.google.com/pub?key=p9pdwsai2hDMsLkXsoM05KQ&gid=1 List of supported languages
 @see https://developers.google.com/maps/documentation/places/supported_types List of supported types