Google Places API无法按名称查找地点

Ken*_*son 4 google-places-api

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

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

name=London Eye
Run Code Online (Sandbox Code Playgroud)

我得到零结果(有或没有引号).

但如果我按关键字搜索:

keyword=ferris wheel
Run Code Online (Sandbox Code Playgroud)

伦敦眼归来.以下是相关查询:

这有什么押韵或理由吗?

unm*_*dio 9

好吧,问题是你使用了错误的参数.

检查文档,您将看到您应该使用的参数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
Run Code Online (Sandbox Code Playgroud)

这对我有用!

编辑:

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

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
Run Code Online (Sandbox Code Playgroud)

与单独使用这些参数相比,您获得的结果更好.

UPDATE

自2018年起,该name参数已弃用以支持该keyword参数,因此从现在开始,建议仅keyword在请求中使用参数.

文档目前正在阅读

name - 要与Google为此地点编入索引的所有内容进行匹配的字词.相当于关键字.名称字段不再局限于地名.此字段中的值与关键字字段中的值组合在一起,并作为同一搜索字符串的一部分传递.我们建议仅对所有搜索字词使用关键字参数.

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