

def nearby_search(self, language=lang.ENGLISH, keyword=None, location=None, lat_lng=None, name=None, radius=3200, rankby=ranking.PROMINENCE, sensor=False, types=[]):
    "Perform a nearby search using the Google Places API.\n\n        One of either location or lat_lng are required, the rest of the keyword\n        arguments are optional.\n\n        keyword arguments:\n        keyword  -- A term to be matched against all available fields, including\n                    but not limited to name, type, and address (default None)\n        location -- A human readable location, e.g 'London, England'\n                    (default None)\n        language -- The language code, indicating in which language the\n                    results should be returned, if possible. (default lang.ENGLISH)\n        lat_lng  -- A dict containing the following keys: lat, lng\n                    (default None)\n        name     -- A term to be matched against the names of the Places.\n                    Results will be restricted to those containing the passed\n                    name value. (default None)\n        radius   -- The radius (in meters) around the location/lat_lng to\n                    restrict the search to. The maximum is 50000 meters.\n                    (default 3200)\n        rankby   -- Specifies the order in which results are listed :\n                    ranking.PROMINENCE (default) or ranking.DISTANCE\n                    (imply no radius argument).\n        sensor   -- Indicates whether or not the Place request came from a\n                    device using a location sensor (default False).\n        types    -- An optional list of types, restricting the results to\n                    Places (default []).\n        "
    if ((location is None) and (lat_lng is None)):
        raise ValueError('One of location or lat_lng must be passed in.')
    if (rankby == 'distance'):
        if ((keyword is None) and (types == []) and (name is None)):
            raise ValueError((('When rankby = googleplaces.ranking.DISTANCE, ' + 'name, keyword or types kwargs ') + 'must be specified.'))
    self._sensor = sensor
    radius = (radius if (radius <= GooglePlaces.MAXIMUM_SEARCH_RADIUS) else GooglePlaces.MAXIMUM_SEARCH_RADIUS)
    lat_lng_str = self._generate_lat_lng_string(lat_lng, location)
    self._request_params = {
        'location': lat_lng_str,
    }
    if (rankby == 'prominence'):
        self._request_params['radius'] = radius
    else:
        self._request_params['rankby'] = rankby
    if (len(types) > 0):
        self._request_params['types'] = '|'.join(types)
    if (keyword is not None):
        self._request_params['keyword'] = keyword
    if (name is not None):
        self._request_params['name'] = name
    if (language is not None):
        self._request_params['language'] = language
    self._add_required_param_keys()
    (url, places_response) = _fetch_remote_json(GooglePlaces.NEARBY_SEARCH_API_URL, self._request_params)
    _validate_response(url, places_response)
    return GooglePlacesSearchResult(self, places_response)

dataset/ETHPy150Open slimkrazy/python-google-places/googleplaces/__init__.py GooglePlaces.nearby_search/original