Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google places在选择结果后使用了错误的输入_Javascript_Autocomplete_Google Places Api - Fatal编程技术网

Javascript Google places在选择结果后使用了错误的输入

Javascript Google places在选择结果后使用了错误的输入,javascript,autocomplete,google-places-api,Javascript,Autocomplete,Google Places Api,我正在用谷歌的places Auto completion来洗刷我的头发。 我有5个输入在我的页面,我想绑定到谷歌的地方自动完成。 页面加载良好,库初始化所有输入良好。 但是,当我单击自动完成的结果时,我在调试器中意识到错误的输入字段被传递给了侦听器。 以下是我如何初始化输入: var autocomplete = {}; var autocompletesWraps = ['from', 'destination','publish-dn','publish-an','publish-st']

我正在用谷歌的places Auto completion来洗刷我的头发。 我有5个输入在我的页面,我想绑定到谷歌的地方自动完成。 页面加载良好,库初始化所有输入良好。 但是,当我单击自动完成的结果时,我在调试器中意识到错误的输入字段被传递给了侦听器。 以下是我如何初始化输入:

var autocomplete = {};
var autocompletesWraps = ['from', 'destination','publish-dn','publish-an','publish-st'];
function initautocomplete(){
    //Bind the Town input fields to google apis
    directionsService = new google.maps.DirectionsService();
    for(var index=0;index<autocompletesWraps.length;index++){
        var name = autocompletesWraps[index];
        if(!document.getElementById(name)) {
                return;
        }
        autocomplete[name] = new google.maps.places.Autocomplete(document.getElementById(name), { types: ['geocode'],componentRestrictions: {country: 'nz'} });
        google.maps.event.addListener(autocomplete[name], 'place_changed', function() {
                var place = autocomplete[name].getPlace();                
                var latitude = place.geometry.location.lat();
                var longitude = place.geometry.location.lng();
                var town = place.formatted_address.split(',')[0];
                document.getElementById(name).setAttribute('data-l',latitude);
                document.getElementById(name).setAttribute('data-g',longitude);
                }
        });
    }                       
}
</script>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=XXXXXXXXXXXXXXXXXXXXXX&libraries=places&amp;callback=initautocomplete"></script>
var autocomplete={};
var autocompleteswrapps=['from','destination','publish-dn','publish-an','publish-st'];
函数initautocomplete(){
//将Town输入字段绑定到google API
directionsService=new google.maps.directionsService();
对于(var指数=0;指数

我没有选择了!如果有人能帮我,那就太好了! 干杯好的, 我通过为每个输入创建全局变量来解决这个问题。 然后在初始化期间逐个填充它们。 那么一切都很好