Javascript React本机设置/访问函数内的变量
我试图将变量lat和lng设置为地理编码器返回的坐标。我认为lat和lng可以从geocoder代码内部访问,其中显示geocoder.getFromLocationinputWhere.then…,但除此之外,它似乎没有将变量设置为geocoder的坐标。我是否遗漏了变量范围的某些内容?我已经评论了警报返回的内容。我已经测试过地理编码器工作正常,并且满足了if条件。感谢您的帮助,谢谢Javascript React本机设置/访问函数内的变量,javascript,react-native,scope,Javascript,React Native,Scope,我试图将变量lat和lng设置为地理编码器返回的坐标。我认为lat和lng可以从geocoder代码内部访问,其中显示geocoder.getFromLocationinputWhere.then…,但除此之外,它似乎没有将变量设置为geocoder的坐标。我是否遗漏了变量范围的某些内容?我已经评论了警报返回的内容。我已经测试过地理编码器工作正常,并且满足了if条件。感谢您的帮助,谢谢 submitData = (inputWhere) => { var lat = 0; var lng
submitData = (inputWhere) => {
var lat = 0;
var lng = 0;
if(inputWhere != '') {
Geocoder.getFromLocation(inputWhere).then(
json => {
var location = json.results[0].geometry.location;
alert(lat); // Here it says 0
lat = location.lat; // 40
lng = location.lng;
alert(lat); // Here it says 40
},
error => {
alert(error);
}
);
alert(lat); // Here it says 0
}
alert(lat); // Here it says 0
}
Geocoder.getFromLocation需要时间
你需要等到它完成你怎么做?我的意思是,有一个。然后附加到它上。这就是为什么你在2中得到40。警觉的但是第三和第四次警报不在范围之内。它们马上就会发生。他们不等待。然后啊,是的,很有道理。格雷西亚斯