gpt4 book ai didi

javascript - 地理编码在第二次调用时返回 (NaN, Nan)

转载 作者:行者123 更新时间:2023-12-02 19:32:43 25 4
gpt4 key购买 nike

我的 javascript 函数 getLatLng 在被 window.onload 调用时效果很好。但是当我使用处理程序调用它时,我从地理编码器获得一个位置(NaN,NaN)。

为什么当我点击提交按钮时它不起作用,但在 window.onload 中却工作得很好?

<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?key=MYSECRETKEYHERE&sensor=false">
</script>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>


<form id="update_info" method="post" action="{{upload_url}}" enctyp="multipart/form-data">
<input name="address" id="address" type="text" value="100 W Main St Lehi, UT"/>
<input name="latlng" id = "latlng" type="text" value=""/>
<input name="update_reseller_button" id="update_reseller_button" type="submit">
</form>


<script>

function getLatLng()
{
var geocoder = new google.maps.Geocoder();

var theaddress = document.getElementById('address').value;
var position = new google.maps.LatLng();

geocoder.geocode({'address': theaddress}, function(results, status
)
{
position = results[0].geometry.location;
document.getElementById('latlng').value = position.toString();
});
return position;
}

$('#update_info').submit(function()

{
alert('The Position is: ' + getLatLng().toString());
return true;
});

window.onload = getLatLng();

</script>

编辑:修复了处理程序中指向错误表单的拼写错误

编辑2:修复了更多拼写错误

编辑 3:已更改,以便警报显示位置值

最佳答案

您的 getLatLng 函数永远不会按预期工作,它永远不会返回地理编码的结果,因为地理编码是异步请求。

这个:

window.onload = getLatLng();

...将调用函数(不是onload,立即),函数将执行指令,但也会返回(NaN, NaN)

关于javascript - 地理编码在第二次调用时返回 (NaN, Nan),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11320253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com