我正在尝试构建一个脚本,以收集给定区域中所有具有相同类型类别的地方(无家可归者收容所(。我目前正在使用python-google-places
软件包,如果我知道避难所和城市的名称,就可以进行正常搜索。同时,我不能指定"无家可归者收容所"作为检索给定地理位置中所有地方的类型。
当我在谷歌地图中搜索这个位置时,有一个名为"无家可归者避难所"的子类别,我可以点击它来查看地图上其他地方的列表(请参阅我所说的标签的随附截图(。同时,我不能指定"无家可归者收容所"作为检索给定地理位置中所有地方的类型。如果我检查这个特定示例的类型,它只列出以下作为返回的类型:"point_of_enterest"one_answers"establishment"。有没有办法过滤API搜索结果以匹配相同的标签?
示例:https://ibb.co/MSFKtt8
目前,Google地图平台-Places API目前不支持Google地图上显示的地点类型(如所附屏幕截图中的"无家可归者避难所"(。
在我们的Google问题跟踪器上有一个现有的功能请求,以支持地方API上的这些地方类型。为了表达你的兴趣,并让你订阅此请求的任何更新,我建议你在这个谷歌问题跟踪器条目中添加星号。
与此同时,您可能需要考虑使用其他地方API服务,如附近搜索或文本搜索服务,以获取与"无家可归者收容所"匹配的地方列表尽管这不能保证你会得到与谷歌地图搜索完全相同的搜索结果,因为谷歌地图平台产品是谷歌地图消费者应用程序(Maps.Google.com(的独立产品。
以下是使用python-google-places
包的示例请求:
使用文本搜索
from googleplaces import GooglePlaces
YOUR_API_KEY = 'YOUR_API_KEY'
google_places = GooglePlaces(YOUR_API_KEY)
query_result = google_places.text_search(
lat_lng = {'lat': 40.740614, 'lng': -73.976601},
query='homeless shelters',
radius=5000
)
for place in query_result.places:
print(place.name)
使用附近搜索
from googleplaces import GooglePlaces
YOUR_API_KEY = 'YOUR_API_KEY'
google_places = GooglePlaces(YOUR_API_KEY)
query_result = google_places.nearby_search(
lat_lng = {'lat': 40.740614, 'lng': -73.976601},
keyword='homeless shelters',
radius=5000
)
for place in query_result.places:
print(place.name)
请注意,我们还有一个官方的谷歌地图客户端库Web服务。以下是Python的特定库:https://github.com/googlemaps/google-maps-services-python