jQuery - 如何在验证 Google 地图地点自动完成时获取地址文本

jQuery - How to get the address text when a Google Maps places autocomplete is validated

我想知道如何在验证 Google 地图地点自动完成后获取地址文本。例如,假设在填写文本输入时,自动完成列表显示并在选择其项目之一时(无论是通过按下方向键以移动到想要的项目然后按下 Enter 键,或者甚至通过使鼠标单击它),所选地址将显示在控制台日志中。 下面是一个更好说明的例子:

在这里,我需要控制台记录地址“Paris France”,一旦它被选中。

这是我的相关 HTML 代码:

<input type='text' id='nouvelleAdresse'>

这是我的相关 JavaScript 代码:

var options = {
                    componentRestrictions: {country: 'fr'}
                };
var autocomplete1 = new google.maps.places.Autocomplete(document.getElementById("nouvelleAdresse"), options);
autocomplete1.addListener('place_changed', fillInAddress);
                function fillInAddress() {
                    var place1 = autocomplete1.getPlace();
                }

实际上,我可以通过简单地添加下面的代码来实现:

$(document).on('change', '#nouvelleAdresse', function() {
                console.log('the address: '+$(this).val())
            });

但是,当不选择任何自动完成列表项时(甚至在文本输入外部单击时),这会给我相同的结果。 因此,我的目标是在从自动完成列表中选择地址时,控制台只记录地址 only 。有什么想法吗?

找到了!我刚刚更改了下面的代码块:

function fillInAddress() {
                var place1 = autocomplete1.getPlace();
            }

给这个:

function fillInAddress() {
                    var place1 = autocomplete1.getPlace();
                    console.log('the adress: '+$('#nouvelleAdresse').val())
                }