我正在尝试设置Google地址自动完成输入,以便在第二个字符之后开始提供选项。目前,Google的默认设置是从第一个字符开始。
我在地址输入中添加了oninput侦听器,该侦听器调用一个函数来检查输入长度,并在输入2个字符后调用自动完成初始化。我从执行初始化的api中删除了回调。之所以有效,是因为下拉菜单仅在两个字符之后出现,但我不再从所选地址获取信息。
// added oninput
<input type="text" id="address" class="form-control" placeholder="Enter Full Address" oninput="customAutoInit()">
// function that checks for number of characters entered
var customAuotInit = function(){
var a = $('#address').val();
if(a >= 1){
initAutocomplete();
}
}
// init function
function initAutocomplete() {
autocomplete = new google.maps.places.Autocomplete(
{types: ['address']});
autocomplete.addListener('place_changed', fillInAddress);
}
// place is undefined
function fillInAddress() {
var place = autocomplete.getPlace();
...
}
// removed &callback=initAutocomplete
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBOB2C48qQbouCMXHyM6vYgLhcoeZeG0sM&libraries=places" async defer></script>