Google Places Autocomplete插件无法在Firefox android中运行

时间:2015-03-20 20:04:34

标签: android firefox autocomplete google-places-api

我们在网站上使用谷歌的places-autocomplete插件。

最近我们收到了一些来自我们网站访问者的投诉,这个插件并不适用于Android版的Firefox。但它在桌面版Firefox中运行良好。

可以简单地观察到这个问题
  1. 转到places-autocomplete示例here
  2. 尝试在"输入位置"中输入邮政编码搜索输入
  3. 您将观察以下两个问题 -

    1. Google自动完成应该在您开始输入时显示建议 邮政编码。但直到在5位邮政编码后输入空间之后才会出现这种情况。
    2. 当建议显示时(键入 space )后,您无法选择第一个建议。点击它时,光标会移回搜索输入。但是,您可以正确选择第二个或第三个建议。
    3. 问题#2对用户来说非常烦人且令人沮丧。我们收到了几个关于此的投诉。

      我在运行Android 4.4.2的三星S4上的Firefox版本36.0.2上确认了这一点。

      如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

解决第二个问题的方法是给第一个自动填充建议一个上边距,以便用户可以点击它。它不漂亮但功能齐全。

CSS

.FirefoxAndroid .pac-container .pac-item:first-child { 
    margin-top: 20px;
}

JS

<script> 
    var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;     
    var is_android = navigator.userAgent.toLowerCase().indexOf('android') > -1; 

    if(is_firefox && is_android){ 
        $('html').addClass('FirefoxAndroid');
    }
</script>

答案 1 :(得分:0)

我今天遇到了同样的问题 - 我正在处理的网站在每个网络浏览器上都能正常运行,除了在FF移动设备上也可以自动完成。

尝试3-4个解决方案之后,对我有用的是在我的代码顶部声明var place

我有类似的东西

var autocomplete;
var place;
var input = document.getElementById('location');
var options = {
    componentRestrictions: {'country':'be'},
    types: ['(regions)'] // (cities)
};

autocomplete = new google.maps.places.Autocomplete(input,options);
google.maps.event.addListener(autocomplete, 'place_changed', function () {
    place = autocomplete.getPlace();
    ...
}

它不仅仅适用于FF移动设备,因为我没有在顶部声明place

也许它会帮助将来知道

的人