【问题标题】:Google Travel things todo APIGoogle Travel 待办事项 API
【发布时间】:2017-10-04 09:19:41
【问题描述】:

是否有任何 API 可用于获取城市的“待办事项”列表?

我使用 google places API 来搜索待办事项,网址如下:

https://maps.googleapis.com/maps/api/place/textsearch/json?query=things+to+do+in+Paris,+France&language=en&key=XX

API 结果是:


蒙索公园

凯旋门

圣心大教堂

埃菲尔铁塔

卢浮宫


但如您所见,这些结果并未按受欢迎程度排序。

例如,“Parc Monaceau”在巴黎并不是排名第一的景点。

当我在谷歌搜索“法国巴黎的事情”时, 结果是这样的:


埃菲尔铁塔

卢浮宫

凯旋门

巴黎迪士尼乐园

巴黎圣母院


这是最好的待办事项列表,谷歌将显示在搜索结果中。但我不知道为什么我无法通过 google places api 获得准确的列表。

如您所见,“迪士尼乐园”显示在 google 搜索中,但在 google places API 中不可用。

请帮忙解决这个问题。

谢谢。

【问题讨论】:

  • 要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。
  • 我问过如何使用谷歌自己的搜索结果对谷歌搜索 api 结果进行排序。这是题外话吗? :)
  • 您应该先查阅文档,而不是请这里的人为您检查文档。大多数 Google api 不包含排序操作。返回后您可能必须在本地对数据进行排序。
  • 我已经多次检查 google places api 文档。正如你所说,没有办法排序。我已经在 stackoverflow 中发布,以帮助其他人按照我的意愿对谷歌结果进行排序。谷歌返回数据后,如何按受欢迎程度对数据进行排序?您有什么解决方案而不是在主题中发送垃圾邮件吗?
  • 作为开发人员,如何对数据进行排序取决于您。如果这是您要找的,这里没有人会为您编写代码。欢迎加入堆栈请阅读stackoverflow.com/help/how-to-ask

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


【解决方案1】:

我相信附近的搜索可能更适合这种搜索。 Nearby 搜索有一个rankby 参数,您可以使用该参数按prominense 对结果进行排序。

确实,在这种情况下,您需要指定要搜索的城市中心位置和半径。

例如,对于巴黎,它可能是

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=48.856614%2C2.3522219&radius=20000&keyword=things%20to%20do%20in%20Paris&rankby=prominence&key=YOUR_API_KEY

我观察到的结果是

  • 凯旋门
  • 埃菲尔铁塔
  • 圣心大教堂
  • 卢浮宫博物馆
  • 卢森堡花园
  • 圣礼拜堂
  • 蒙索公园
  • 巴黎圣母院大教堂
  • 巴黎歌剧院
  • 奥赛博物馆
  • .......

【讨论】:

  • 非常感谢。它比 textsearch api 有更好的结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-18
  • 2017-07-04
  • 2020-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多