在Google中搜索附近的lat_lng会放置api(python)

时间:2018-01-11 13:27:39

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

我正在尝试查找lat_lng中某个位置附近的所有地方。但是,在搜索lat_lng而不是位置(location ='location')时出现错误。我已经获得了Google地方API网络服务和Google地图地理编码API的密钥。根据{{​​3}},这应该足够了。

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

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

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

1 个答案:

答案 0 :(得分:2)

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

  

lat_lng - 包含以下键的dict:lat,lng(默认为None)

请执行以下操作:

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