【问题标题】:I want the same result for query as google gives on search for particular query我想要与谷歌搜索特定查询时相同的查询结果
【发布时间】:2019-06-05 16:17:50
【问题描述】:
【问题讨论】:
标签:
javascript
c#
web-services
google-places-api
【解决方案1】:
Google Places API 不会返回与使用 Google 地图进行搜索相同的结果。我假设这就是您所说的“在 Google 中搜索”的意思。我们不确定 Google 地图的搜索算法是什么,他们也不会告诉我们。
Places API 响应由请求类型(查找地点、附近、文本)和您提供的参数决定。我也一直在努力寻找正确的组合以获得与 Google 地图相同的结果。
我使用您指定的纬度/经度在 Google 地图上搜索了附近的咖啡馆。我能够通过这个地点请求获得几乎相同的咖啡馆列表:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=22.258651999999998,71.1923805&keyword=cafe&rankby=distance&key=API_KEY
对此请求的前 6 个响应以相同的顺序列出了 Google 地图所做的相同业务。其余回复均为咖啡馆类型的商家,与谷歌地图列出的相同,但顺序不同。 Places 响应排除了出现在 Google 地图列表中的 restaurant 类型的企业,这是一个更好的响应。
请注意,我使用 附近 搜索来获得这些结果。它更适合您的用例。根据 Places API 文档的文本搜索在进行不明确的地址查询时最有用。