我的输入中有一个自定义表单,其中包含Google自动填充功能。选择位置并单击“提交”后,纬度和经度值将随位置值一起更新以进行搜索。
我无法找到一种方法来阻止表单提交,直到值更新,我尝试了不同的事件,如onchange或keyup,但这会对api进行多次调用,并不是一个很好的答案。
function geocodeAddress(geocoder) {
var address = document.getElementById('autoc-input-maps').value;
geocoder.geocode({'address': address}, function(results, status) {
if (status === google.maps.GeocoderStatus.OK){
marker = new google.maps.Marker({
position: results[0].geometry.location
});
jQuery("#lat").val(marker.position.lat());
jQuery("#lng").val(marker.position.lng());
} else {
console.log('Geocode was not successful for the following reason: ' + status);
}
});
}
function updatecords() {
var geocoder = new google.maps.Geocoder();
geocodeAddress(geocoder);
}
jQuery('#auto-search').submit(function() {
updatecords();
return true;
});
我也尝试在提交时设置超时,但没有工作。
答案 0 :(得分:0)
另一个与此类似的问题是here。我想你可以使用这个功能:
function pan() {
var panPoint = new google.maps.LatLng(document.getElementById("lat").value, document.getElementById("lng").value);
map.panTo(panPoint)
}
希望这有帮助!