无法从Google Maps Javascript API上的自动完成中选择地址
Cannot select address from autocomplete on Google Maps Javascript API
设置是PhoneGap应用程序上的Google Maps Javascript API(v3),我设置了自动完成:
var that = this
this.autocomplete = new google.maps.places.Autocomplete(domNode)
this.listener = google.maps.event.addListener(
this.autocomplete, 'place_changed', function (place) {
var place = that.autocomplete.getPlace()
...
}
})
这段代码适用于我的Android版本和浏览器。问题是当我在iOS下运行时。我在搜索框中键入一个字符串,会显示自动完成的结果,但单击其中一个只会关闭下拉列表,但结果不会填充到搜索框中。听众也不会开火。Javascript控制台上没有显示任何错误。
这都是谷歌的代码,所以我不知道如何调试。如有任何帮助,我们将不胜感激。谢谢
在我的一个项目中,我一直在iPhone上遇到同样的问题,经过数小时的调查,发现问题是由fastclick
库引起的。
FastClick.prototype.onTouchEnd = function(event) {
...
if (!this.needsClick(targetElement)) {
event.preventDefault();
this.sendClick(targetElement, event);
}
return false;
};
FastClick.prototype.needsClick = function(target) {
'use strict';
switch (target.nodeName.toLowerCase()) {
// Don't send a synthetic click to disabled inputs (issue #62)
case 'button':
case 'select':
case 'textarea':
if (target.disabled) {
return true;
}
break;
case 'input':
// File inputs need real clicks on iOS 6 due to a browser bug (issue #68)
if ((this.deviceIsIOS && target.type === 'file') || target.disabled) {
return true;
}
break;
case 'label':
case 'video':
return true;
}
return (/'bneedsclick'b/).test(target.className);
};
因为.pac-container
只有div
和span
,所以FastClick
假设它是不可点击的,并调用preventDefault
。为了解决这个问题,我将needsclick
类添加到所有.pac-*
元素
相关文章:
- 下拉选择可自动更改第二个下拉选择
- 如何使用jQuery选择下拉列表的值
- jquery点击函数select&取消选择
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 按照选项卡索引的顺序循环一个jQuery选择
- 在动态创建的元素上获取对特定选择器的引用
- AngularJS-在JSON选择器中使用变量名
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 获取选择框的状态
- d3基于用户选择动态更新节点
- 根据部门用户的选择,接收来自多个电子邮件地址的Wordpress Contactform7查询
- Regex Groups-选择电子邮件地址前的文本
- 从 jquery 地址选择器返回街道名称
- 使用无线电输入和knockoutjs选择客户地址
- 无法从Google Maps Javascript API上的自动完成中选择地址
- Firefox:如果我选择地址栏并单击enter,页面不会重新加载
- 自动填写谷歌地图搜索栏(地址选择器)
- 窗口.location选择IP地址而不是域名
- 谷歌地图位置API地址自动完成和显示选择的结果