【问题标题】:Searching nearby lat_lng in Google places api (python)在 Google 地方 api (python) 中搜索附近的 lat_lng
【发布时间】:2018-06-20 20:26:06
【问题描述】:

我正在尝试查找 lat_lng 中某个位置附近的所有地方。但是,在搜索 lat_lng 而不是位置 (location='location') 时出现错误。我有 Google places API Web Service 和 Google Maps Geocoding API 的密钥。根据https://github.com/slimkrazy/python-google-places 应该够了。

这是我的代码和我的错误信息:

YOUR_API_KEY = 'API_KEY'
google_places = GooglePlaces(YOUR_API_KEY)

query_result = google_places.nearby_search(
        lat_lng='52.0737017, 5.0944107999999915', 
        radius=100,
        types=[types.TYPE_RESTAURANT] or [types.TYPE_CAFE])

for place in query_result.places:
     place.get_details()
     print '%s %s %s' % (place.name, place.geo_location, place.types)

错误信息:

File "C:\Python27\lib\site-packages\googleplaces\__init__.py", line 281, in nearby_search
    lat_lng_str = self._generate_lat_lng_string(lat_lng, location)
  File "C:\Python27\lib\site-packages\googleplaces\__init__.py", line 590, in _generate_lat_lng_string
    else geocode_location(location=location, api_key=self.api_key))
TypeError: format requires a mapping

谁知道如何解决这个问题?

【问题讨论】:

标签: python google-maps google-api google-places-api


【解决方案1】:

从您提供的github 中,参考部分指出 lat_lng 参数的类型为 dict

lat_lng -- 包含以下键的字典:lat、lng(默认无)

改为执行以下操作:

query_result = google_places.nearby_search(
        lat_lng={'lat': 52.0737017, 'lng': 5.0944107999999915}, 
        radius=100,
        types=[types.TYPE_RESTAURANT] or [types.TYPE_CAFE])

要查看 query_result,只需执行以下操作:

query_result.raw_response

【讨论】:

    猜你喜欢
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 2016-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-24
    相关资源
    最近更新 更多