我想要与谷歌搜索特定查询时相同的查询结果

Posted

技术标签:

【中文标题】我想要与谷歌搜索特定查询时相同的查询结果【英文标题】:I want the same result for query as google gives on search for particular query 【发布时间】:2019-06-05 16:17:50 【问题描述】:

我正在使用 Google Place API 根据我的查询获取地点列表,但我没有得到与谷歌给出的相同列表。事实上,我很困惑是否应该在 Google Place API 中使用附近搜索或文本搜索。

正如我所提到的,我得到的结果与谷歌地图为查询提供的结果不同。我也提供了位置。

https://maps.googleapis.com/maps/api/place/textsearch/json?location=22.258651999999998,71.1923805&query=cafe&key=API_KEY

与 Google 搜索相比,此 API 调用为我提供了不同的结果,并且给定位置是我在 Google 中搜索的当前位置。因此,如果我经过当前位置,那么我认为两者的结果应该是相同的,但我没有得到它。

【问题讨论】:

【参考方案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 文档的文本搜索在进行不明确的地址查询时最有用。

【讨论】:

以上是关于我想要与谷歌搜索特定查询时相同的查询结果的主要内容,如果未能解决你的问题,请参考以下文章

计算 SQL 查询的执行时间?

BigQuery 数据与谷歌分析

百度搜索引擎和谷歌搜索引擎的区别

如何使用谷歌地方 api 获得与谷歌地图相同的结果

谷歌搜索参数url参数详解

向谷歌查询添加参数