我想返回“currentLoc”。不幸的是,它对我不起作用。 如何通过我的代码分配回调函数的结果来重用它。
function currentLocation() {
var options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
};
function success(pos) {
var crd = pos.coords;
console.log(`Latitude : ${crd.latitude}`);
console.log(`Longitude: ${crd.longitude}`);
currentLoc = new google.maps.LatLng( crd.latitude, crd.longitude);
};
function error(err) {
///ERROR
};
if ( navigator.geolocation)
navigator.geolocation.getCurrentPosition(success, error, options);
return currentLoc;
}
答案 0 :(得分:1)
因为回调是异步发生的,所以return
语句在success
甚至运行之前发生。
一个选项是让您的主currentLocation
函数进行回调,并使用success
内的值调用该函数。