javascript - 我想要与谷歌搜索特定查询时相同的查询结果
问题描述
我正在使用 Google Place API 根据我的查询获取地点列表,但我没有得到与谷歌给出的相同列表。事实上,我很困惑是否应该在 Google Place API 中使用附近搜索或文本搜索。
正如我所提到的,我得到的结果与谷歌地图为查询提供的结果不同。我也提供了位置。
与 Google 搜索相比,此 API 调用给了我不同的结果,并且给定的位置是我在 Google 中搜索的当前位置。因此,如果我经过我当前的位置,那么我认为两者的结果应该是相同的,但我没有得到它。
解决方案
Google Places API 不会返回与使用 Google 地图进行搜索相同的结果。我假设这就是您所说的“在 Google 中搜索”的意思。我们不确定谷歌地图的搜索算法是什么,他们也不会告诉我们。
Places API 响应由请求类型(查找地点、附近、文本)和您提供的参数决定。我也一直在努力寻找正确的组合来获得与谷歌地图相同的结果。
我使用您指定的纬度/经度和附近的咖啡馆在 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 Maps 列表中的餐厅类型企业,这是一个更好的响应。
请注意,我使用“附近”搜索来获取这些结果。它更适合您的用例。在进行不明确的地址查询时,根据 Places API 文档的文本搜索是最有用的。
推荐阅读
- android - MessagePack 序列化反序列化在两个平台上的结果不同
- java - 反序列化时已经出现 POJO 问题
- python - python:在治疗向量中找不到对照组0级
- php - 当用户未填写字段时如何显示错误?
- python - 如何使用 Python 将 Excel 数据导出到 JIRA?
- docker - open() 失败:太多级别的符号链接 centos8 cockpit-docker
- python - 在 Plotly python 中更新选择值但不更新多个下拉菜单的选项
- c# - 在不使用 EFCore 扩展的情况下批量插入避免重复
- python - Python - 为什么我会收到这个 ffprobe 错误?
- azure - Azure Functions 并发:maxConcurrentRequests - 是否真正并行以同时执行同时发生的所有请求