我有一个应用程序,它使用places API来帮助查找目的地附近的地方(如伦敦) . 我更喜欢在附近使用,因为它可以让我专注于一个区域,而且与文本搜索相比也更便宜 .
不幸的是,我得到的答案没有多大意义 . 例如,如果我搜索:
name=London Eye
我得到零结果(有或没有引号) .
但如果我按关键字搜索:
keyword=ferris wheel
伦敦眼归来 . 以下是相关查询:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?key=[API_KEY]&sensor=false&location=51.52864165,-0.10179430&radius=47022&name=%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=ferris%20wheel
这有什么押韵或理由吗?
好吧,问题是你使用了错误的参数 .
检查documentation,你会看到你应该使用的参数是 keyword 而不是 name
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
与单独使用这些参数相比,您获得的结果更好 .
UPDATE
自2018年起,不推荐使用 name 参数以支持 keyword 参数,因此从现在开始,建议在请求中仅使用 keyword 参数 .
文档目前正在阅读
name - 要与Google为此地点编入索引的所有内容进行匹配的字词 . 相当于关键字 . 名称字段不再局限于地名 . 此字段中的值与关键字字段中的值组合在一起,并作为同一搜索字符串的一部分传递 . 我们建议仅对所有搜索字词使用关键字参数 .
来源:https://developers.google.com/places/web-service/search#PlaceSearchRequests
1 回答
好吧,问题是你使用了错误的参数 .
检查documentation,你会看到你应该使用的参数是
keyword
而不是name
那将是:
这对我有用!
编辑:
正如我所说,如果你尝试:
与单独使用这些参数相比,您获得的结果更好 .
UPDATE
自2018年起,不推荐使用
name
参数以支持keyword
参数,因此从现在开始,建议在请求中仅使用keyword
参数 .文档目前正在阅读
来源:https://developers.google.com/places/web-service/search#PlaceSearchRequests