【问题标题】:Google Places API can't find places by nameGoogle Places API 无法按名称查找地点
【发布时间】:2013-08-30 18:17:28
【问题描述】:

我有一个应用程序,它使用 places API 来帮助查找目的地(如伦敦)附近的地点。我更喜欢使用附近,因为它可以让我专注于一个区域,而且与文本搜索相比也更便宜。

不幸的是,我得到的答案没有多大意义。例如,如果我搜索:

name=London Eye

我得到零个结果(带或不带引号)。

但是如果我按关键字搜索:

keyword=ferris wheel

伦敦眼回归。以下是相关查询:

这有什么押韵或理由吗?

【问题讨论】:

    标签: google-places-api


    【解决方案1】:

    嗯,问题是你使用了错误的参数。

    检查documentation,你会看到你应该使用的参数是keyword而不是name

    那就是:

    https://maps.googleapis.com/maps/api/place/nearbysearch/json?key=[API_KEY]&sensor=false&location=51.52864165,-0.10179430&radius=47022&keyword=%22london%20eye%22
    

    这对我有用!

    编辑:

    正如我所说,如果你尝试:

    https://maps.googleapis.com/maps/api/place/nearbysearch/json?key=[API_KEY]&sensor=false&location=51.52864165,-0.10179430&radius=47022&keyword=%22london%20eye%22&name=%22london%20eye%22
    

    与单独使用这些参数相比,您可以获得很多结果。

    更新

    自 2018 年起,name 参数已被弃用,取而代之的是 keyword 参数,因此从现在开始,建议您在请求中仅使用 keyword 参数。

    当前阅读的文档

    name — 与 Google 已为此地点编制索引的所有内容匹配的术语。 相当于关键字。名称字段不再局限于地名。此字段中的值与关键字字段中的值组合并作为同一搜索字符串的一部分传递。我们建议对所有搜索字词仅使用关键字参数。

    来源:https://developers.google.com/places/web-service/search#PlaceSearchRequests

    【讨论】:

    • 感谢您的回复。这里的文档:developers.google.com/places/documentation/search 说关键字和名称都是可选参数。无论如何,我会按照你的方式尝试!
    • 你说得对,区别在于name 以更严格的方式将您的输入与地名进行比较。但是你知道,我只是用相同的信息检查了它们,它返回了很多结果,所有结果都包括name 输入结果。我现在正在编辑答案。 :)
    猜你喜欢
    • 2021-09-08
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多