javascript - 谷歌地图API出现问题,获取位置地址

标签 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')

它返回给我类型错误:未定义不是函数需要此自动完成脚本的所有元素输入都有一个名为“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/

相关文章:

javascript - 释放 handle 后是否可以阻止使用 slider

javascript - javascript 可以对非常大的表格进行排序、过滤和呈现吗?

javascript - 在 javascript 中从 Wordpress REST API 正确设置数组

jquery - 删除元素 CSS 之前的内容

javascript - extjs4:如何提交相同的表单数据两次

javascript - 如何使用 jquery 查找表的哪个子级具有特定的类?

javascript - jQuery:使用 for 循环从数组动态构建表单

class - 汇编程序如何处理类和对象,它们如何存储在 RAM 和可执行文件中?

java - 从另一个Java类调用 "non-void"方法

javascript - 我如何将静态函数的值发送到另一个对象?