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