首页 > 解决方案 > 如何改进特定类型的 google-autocomplete 响应?

问题描述

目前,向 API 发出请求Google-autocomplete并没有给我一个准确的响应。例如,我有一个案例,如果我尝试搜索“曼谷机场”,它应该返回我“素万那普机场”,但事实并非如此,因为我认为它没有足够的共同词(即使在对象内部他们返回指定我进行研究的国家)

我只能找到如果我添加一个名为radius=5000& location=latlng(在曼谷)的参数,那么就会找到,因为它会限制我正在研究的内容。

我注意到这也发生在其他结果中,有没有人知道我可能强调某种类型的结果的方法,例如airports?查看文档(https://developers.google.com/places/web-service/autocomplete),他们说他们只有几种类型,它们不适用于airports类型。我需要实现一些手动翻译吗?即:用户键入“曼谷机场”,它更改为“素万那普机场”,所以它发送这个请求而不是第一个?这似乎是很多工作。

我基本上已经尝试了文档中可用的所有参数

这是我请求的参数的当前代码:

request.open(
            "GET",
            "https://maps.googleapis.com/maps/api/place/queryautocomplete/json?&input=" +
              encodeURIComponent(text) +
              "&" +
              Qs.stringify(this.props.query) +
              "&stricbounds" +
              "&location=" +
              this.props.lat +
              "," +
              this.props.lng +
              "&radius=5000," +
              "&types=administrative_area_level_2"
          );

google-autocomplete我希望在搜索Bangkok airport我想要输出Suvarnabhumi airport以及其他情况时从整体上改进来自 api 的响应对象

标签: javascriptapigoogleplacesautocomplete

解决方案


在尝试对查询自动完成进行示例搜索时: https ://maps.googleapis.com/maps/api/place/queryautocomplete/json?input=Bangkok%20Airport&key=YOUR_API_KEY

我能够在预测中获得特定的机场: Suvarnabhumi Airport (BKK), Soi Mu Ban Nakhon Thong 1, Nong Prue, Bang Phli District, Samut Prakan, Thailand使用 Place IDChIJTydCFXdnHTERB3oVT1UZDRI

查询自动完成目前不支持特定类型的过滤器,例如airports.

如果它适合您的用例,您还可以在此示例请求中使用Place Autocomplete :

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Bangkok%20Airport&key=YOUR_API_KEY

有一个现有的功能请求来过滤特定类型: https ://issuetracker.google.com/issues/35820774

我们建议您在此处评论您的用例或为其加注星标以接收更新。


推荐阅读