1

我正在尝试做的事情:

我需要请求用户的位置并将纬度和经度保存到一个对象中。由于这可能需要一些时间,我需要偶尔检查一下坐标是否已保存。我正在使用 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");
    }
  }

};
4

0 回答 0