我试图将变量lat和lng设置为地理编码器返回的坐标。我认为lat和lng可以从地理编码器代码中访问,它代表Geocoder.getFromLocation(inputWhere).then(...),但除此之外,它似乎没有将变量设置为地理编码器的坐标。我错过了关于变量范围的一些内容吗?我已经评论了警报返回的内容。我已经测试过地理编码器工作正常,并且" if"条件得到满足。感谢任何帮助,谢谢!
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
}
答案 0 :(得分:1)
Geocoder.getFromLocation()需要时间。
你需要等到它完成