去抖动Google地图自动完成功能

13

你好。

目前我正在使用 Google 地图为我的服务自动完成地址。以下是该代码:

autocomplete = new google.maps.places.Autocomplete(
    /** @type {!HTMLInputElement} */
    (document.getElementById('address_field')),
    {
        types: ['address'],
        componentRestrictions: {country: 'us'}
    }
);

当我输入时,它会向Google服务器发送请求来获取建议。
这些请求占用了很多代币。

所以我在想 - 是否有一种方法可以防抖请求?

我尝试使用防抖库进行防抖,但显然不起作用。
还尝试将延迟设置为300毫秒,但仍然没有结果。

非常感谢任何帮助。

编辑:2019年5月对Google Maps的定价进行更改。您不再按请求付费,而是按自动完成会话付费。无论用户输入多少搜索查询,它们都将被计算为一个会话。因此,该问题已不再具有实际意义。

2个回答

10

2
同时,给该问题点赞也是一个好主意,让谷歌知道我们真的很重视这个功能请求。目前只有7个星星,不算太多。 - xomena

2
您可以使用检索自动完成预测地点详情来自定义Google地图自动完成组件。
这里有一个使用React的简单演示。自定义Google地图自动完成 希望这可以帮到您,谢谢。
const handleSearch = () => {
  autocompleteService.getPlacePredictions(
  {
    input: text,
    origin: latLng,
    componentRestrictions: {
      country: "NG", // country: string | string[];
    }
  }, handleSuggestions);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接