我正在尝试做的事情:
我需要请求用户的位置并将纬度和经度保存到一个对象中。由于这可能需要一些时间,我需要偶尔检查一下坐标是否已保存。我正在使用 setTimeout 来检查坐标是否每 500 毫秒保存一次。一次`
问题:
checkCoords()
运行一次并返回“用户坐标不存在”,但它似乎不会继续运行。
userGeometry
保存坐标后确保返回的最佳方法是什么?
EXAMPLE.GetUserGeometry = function() {
console.log("Starting geolocation...");
var userGeometry = navigator.geolocation.getCurrentPosition(save_location);
function save_location(position) {
var user_coordinates = {
latitude: position.coords.latitude,
longitude: position.coords.longitude
};
console.log(user_coordinates);
return user_coordinates;
}
setTimeout(checkCoords(userGeometry), 500);
function checkCoords(coords) {
if (typeof coords === 'undefined') {
console.log("user coords don't exist");
} else {
console.log("user coords saved");
}
}
};