gpt4 book ai didi

javascript - 使用 javascript 异步调用 google 服务

转载 作者:行者123 更新时间:2023-11-28 20:32:55 30 4
gpt4 key购买 nike

我有一个数组

SchoolAddress[0] = Abelsvej 98, 4100, Ringsted;
SchoolAddress[1] = Prstevej 19, 4100, Ringsted;
SchoolAddress[2] = Haraldsvej 77, 4100, Ringsted;

我必须获取该地址的纬度和经度。

我为此使用谷歌地理编码器。

for (var i = 0; i < schools.length; i++) 
{
var address = schools[i][1];
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': address }, function (results, status)
{
var location = results[0].geometry.location;
schoolslat[i] = location.lat() + ', ' + location.lng();
});
}

这里发生的情况是,由于调用需要一些时间,来自调用的值不会发送到正确的 schoollat​​[i]。

最佳答案

您可以使用closure在您的请求中卡住变量i:

for (var i = 0; i < schools.length; i++) 
{
(function(i){
var address = schools[i];
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': address }, function (results, status)
{
var location = results[0].geometry.location;
schoolslat[i] = location.lat() + ', ' + location.lng();
});
}(i));
}

UPD:

JSFiddle example .

关于javascript - 使用 javascript 异步调用 google 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15985953/

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