Google Maps Place AutoComplete无法在Windows Phone上运行?

时间:2014-02-20 11:51:48

标签: internet-explorer google-places-api windows-phone-8.1

我使用Google Maps AutoComplete界面在用户输入时自动查找位置。它适用于我测试的所有浏览器(Chrome,FireFox,iOS和更新的Android设备),但Windows Phone除外。

在Windows手机上,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上会弹出下拉框,但文本框的自动更新既不会触发,也不会显示仅使用名称更新文本的事件代码。

有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

有没有人对此有任何更多信息?我遇到了同样的问题 - Google自动填充位置文本框在所有桌面浏览器上运行正常,而且几乎所有手机浏览器都是Windows Phone的例外 - 您无法在Windows手机列表中选择条目。

我现在在Windows Phone 7.5,Windows Phone 7.8和Windows Phone 8.0上使用Google地方信息自动填充测试了一个网站

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

此问题也已在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 / Mobile设备上使用Javscript客户端API。