我正在使用 Google map 自动完成界面在用户输入时自动查找位置。它在我测试过的所有浏览器(Chrome、FireFox、iOS 和更新的 Android 设备)上运行良好,Windows Phone 除外。
在 Windows Phone 上,places_changed 事件似乎没有触发,文本框也没有像在其他浏览器上那样自动更新。
这是一个简化的场景,演示了表单上的单个文本框:
<div class="container" style="padding: 40px">
<label>Enter a location</label>
<input id="location" value="" class="form-control" />
</div>
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?v=3.exp&sensor=true&libraries=places">
</script>
<script>
var el = document.getElementById('location');
var autocomplete = new google.maps.places.Autocomplete(el);
google.maps.event.addListener(autocomplete, 'place_changed', function () {
var place = autocomplete.getPlace();
if (place.geometry.location)
// delay setting the value - otherwise maps uses default always
setTimeout(function() { el.value = place.name; }, 200);
});
</script>
您可以在以下位置试用: http://embed.plnkr.co/kAwU0Fl97nEQr5HhxOTH/preview
它在所有浏览器(包括据称使用与 Windows Phone 8 相同的渲染引擎的 IE 11)中都可以正常工作,但在 Windows Phone 上会弹出下拉框,但既不会触发文本框的自动更新,也不会触发显式的仅使用名称更新文本的事件代码。
有什么办法可以解决这个问题吗?
最佳答案
有人有这方面的更多信息吗?我遇到了同样的问题 - Google Autocomplete Places 文本框在所有桌面浏览器和几乎所有手机浏览器上都能正常工作,Windows Phone 除外 - 您无法在 Windows Phone 上选择列表中的条目。
我现在已经在 Windows Phone 7.5、Windows Phone 7.8 和 Windows Phone 8.0 上使用 Google Places 自动完成功能测试了一个网站
Windows Phone 7.5 根本不工作(甚至不显示页面),7.8 和 8.0 手机显示上述显示正确下拉列表的错误,但无法选择条目。
我还没有能够测试即将推出的 Windows Phone 8.1 更新(它作为开发人员预发布更新提供,但手机最终用户还需要一个月才能使用)。
我有点希望 Windows Phone 8.1 更新可以带来解决方案。在测试中,我注意到 Windows Phone 7.5/8 声明他们使用“Internet Explorer 9”(移动版),而 Windows Phone 8.0 使用“Internet Explorer 10”(移动版)。即将推出的 Windows Phone 8.1 更新据称使用“Internet Explorer 11”。
这个帖子已经有 2 个月了,还有一个旧帖子(8 个月)与 Google places autocomplete not working in Windows mobile IE Browser 相似
此问题也已在 Google 公告板上报告,地址为 https://code.google.com/p/gmaps-api-issues/issues/detail?id=6120
希望 Google 能解决这个问题,或者其他人有可能解决这个问题吗?
编辑:我联系了 Google 支持,他向我指出了官方支持的 Google Maps JavaScript API 支持的浏览器常见问题解答:
https://developers.google.com/maps/faq#browsersupport
Google 特别支持所有桌面浏览器以及 iOS 和 Android 上的移动浏览器。它们不支持在 Windows Phone/移动设备上使用 Javscript 客户端 API。
关于internet-explorer - Google Maps Places AutoComplete 不能在 Windows Phone 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21906965/