您好,在使用 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')
它返回给我类型错误:未定义不是函数
需要此自动完成脚本的所有元素输入都有一个名为“location”的类。
我不知道我做错了什么。我见过的所有示例都仅显示一个输入,因此我不知道该脚本是否能够使用类名处理多个输入。
任何形式的帮助将不胜感激。
最佳答案
自动完成需要 DOMNode 作为第一个参数,但 getElementsByClassName
返回 DOMNodeList。
您必须迭代此节点列表的项目并应用自动完成
。
使用原生 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);
});
关于javascript - 谷歌地图API出现问题,获取位置地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24970774/