gpt4 book ai didi

javascript - 无法从 Google Maps Javascript API 的自动完成中选择地址

转载 作者:可可西里 更新时间:2023-11-01 03:32:51 24 4
gpt4 key购买 nike

设置是 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 只有 divspanFastClick 假定它不可点击并调用preventDefault 并且为了克服这个问题,我向所有 .pac-* 元素添加了 needsclick

关于javascript - 无法从 Google Maps Javascript API 的自动完成中选择地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33496232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com