javascript – Google Places Autocomplete SearchBox:如何控制(启用/禁用)预测

是否可以控制(启用/禁用)Google商家信息自动填充SearchBox(google.maps.places.SearchBox)服务预测?

或者换句话说:是否可以暂时从自动完成SearchBox服务中分离HTML输入元素,然后重新附加它?

问题是我显示的服务结果只是附加到SearchBox服务的HTML输入元素.问题是,在显示结果并且用户重新关注输入元素之后,预测将显示在结果上并模糊其视图.我想禁用预测,直到用户更改input元素中的文本.

编辑26 / Aug / 2016:

Javascript API目前不支持禁用预测.因此,我刚刚在Google上发布了一项功能请求.如果您对该功能感兴趣,请投票支持:Autocomplete SearchBox – Control (enable/disable) predictions..

编辑07 / Sep / 2016 – 赏金奖励更新:

感谢所有参与回答和推广问题的人.

该奖项的主要目标是使用现有的手段找到解决方案.我担心这不会发生,所以我决定不给予赏金.

虽然没有一个答案提供解决方案,但每个都提供了某种形式,所以谢谢!也许这些线索将来会指向一个解决方案.

奖励的次要目标(虽然没有直接传达)是为了宣传Autocomplete SearchBox – Control (enable/disable) predictions功能请求.其状态更改为NeatIdea,并已分配内部跟踪号码.这是一个好兆头.

解决方法

您可以做的是,在用户选择该位置后,您可以向该输入字段添加禁用的类..,这将帮助您根据类名启用/禁用预测.

如果您有自动完成代码,可以将其包含在if else语句中.

let field = document.getElementById('location');
if ( field.className.indexOf('disabled') > -1 ) {
  google.maps.event.clearInstanceListeners(field);
}
else {

  let autocomplete = new google.maps.places.Autocomplete( field,{types: ['geocode']} );
  autocomplete.addListener('place_changed',() => {
    let place = autocomplete.getPlace();
    let filed_val = field.value; // incase you need it
    field.classList.add('disabled');
  });

}

这将在用户选择一个地点后删除自动完成功能..如果需要,您可以从此字段中删除已禁用的类,它将再次起作用.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)