谷歌地图Api的问题,位置地址

时间:2014-07-26 11:58:10

标签: javascript jquery class google-maps

使用javascript和google api定位地址时遇到一些麻烦。

当我使用该代码时,它可以正常工作:

var options = {
        types: ['(cities)'],
        componentRestrictions: {
            country: 'fr'
        }
    };
    var input = document.getElementById('location');
    autocomplete = new google.maps.places.Autocomplete(input, options);

但是当我想使用多输入时,因为有很多地址,它不起作用,

我尝试将getElementById更改为getElementsByClassName(' location')

它返回给我TypeError: undefined is not a function所有需要此自动完成脚本的元素输入都有一个名为" location"的类。

我不知道我做错了什么。我看到的所有示例,仅显示一个输入,因此我不知道此脚本是否能够使用classname处理许多输入。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

Autocomplete期望作为DOMNode的第一个参数,但getElementsByClassName返回DOMNodeList。

您必须遍历此Nodelist的项目并应用Autocomplete

使用原生JS / DOM:

    var inputs = document.getElementsByClassName('someClass');

     for(var i = 0; i < inputs.length; ++i){
        new google.maps.places.Autocomplete(inputs[i], options);
    }

使用jQuery:

     $('.someClass').each(function(){
         new google.maps.places.Autocomplete(this, options);
     });