Google 地方 place_changed 侦听器未在 iPhone 上工作
Google Places place_changed listener not working on iPhone
我正在使用 Google 个地点的自动完成功能。
在任何浏览器(IE、Chrome、Firefox、Safari Mac)上一切正常:我开始输入街道名称,单击结果,结果列表关闭,事件火灾。
然而,在 Safari Mobile 上,点击结果确实会关闭结果列表,但该事件永远不会触发。这是 iPhone 4S,iOS 9,但我也收到了其他型号用户的类似报告。
我的代码在同一页面上使用 Google 地图,相当标准:
<div id="map"></div>
<input type="text" name="location" id="location">
<script>
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
// ...
);
var autocomplete = new google.maps.places.Autocomplete(
document.getElementById('location'), {
types: ['address'],
componentRestrictions: {country: "re"}
}
);
console.log('before listener');
autocomplete.addListener('place_changed', function() {
console.log('place changed');
});
console.log('after listener');
}
</script>
<script src="//maps.google.com/maps/api/js?libraries=places&callback=initMap&language=fr-RE" async defer></script>
我将 iPhone 连接到 Mac,检查了网络检查器,没有发现任何错误。我可以在控制台中看到记录的 'before listener' 和 'after listener' 消息,因此听众似乎已注册。但是在点击结果时 'place changed' 消息从未出现。
可能是什么问题?
在尝试按照 MrUpsidown 的建议在 fiddle 中重现错误时,我发现这是 an outstanding issue with fastclick.js。
我暂时停用了它。
我正在使用 Google 个地点的自动完成功能。
在任何浏览器(IE、Chrome、Firefox、Safari Mac)上一切正常:我开始输入街道名称,单击结果,结果列表关闭,事件火灾。
然而,在 Safari Mobile 上,点击结果确实会关闭结果列表,但该事件永远不会触发。这是 iPhone 4S,iOS 9,但我也收到了其他型号用户的类似报告。
我的代码在同一页面上使用 Google 地图,相当标准:
<div id="map"></div>
<input type="text" name="location" id="location">
<script>
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
// ...
);
var autocomplete = new google.maps.places.Autocomplete(
document.getElementById('location'), {
types: ['address'],
componentRestrictions: {country: "re"}
}
);
console.log('before listener');
autocomplete.addListener('place_changed', function() {
console.log('place changed');
});
console.log('after listener');
}
</script>
<script src="//maps.google.com/maps/api/js?libraries=places&callback=initMap&language=fr-RE" async defer></script>
我将 iPhone 连接到 Mac,检查了网络检查器,没有发现任何错误。我可以在控制台中看到记录的 'before listener' 和 'after listener' 消息,因此听众似乎已注册。但是在点击结果时 'place changed' 消息从未出现。
可能是什么问题?
在尝试按照 MrUpsidown 的建议在 fiddle 中重现错误时,我发现这是 an outstanding issue with fastclick.js。
我暂时停用了它。