0

これを見てください:

  function doGeolocation() {
       if (navigator.geolocation) {
          navigator.geolocation.getCurrentPosition(positionSuccess, positionError);
       if(//here i need check)
         {
         Save();
         } 
      }
  else 
  {
    positionError(-1);
  }
}

したがって、内側の「if」で、navigator.geolocation.getcurrentposition(); かどうかを確認したいと思います。が正常に完了しました。どんな助けでも大歓迎です。

ありがとう..

4

1 に答える 1

1

getCurrentPosition成功を独自にチェックし、結果に応じて別の関数を呼び出します。

あなたの関数では、成功すると呼び出された関数positionSuccessが呼び出されます。地理位置情報が失敗した場合はpositionError呼び出されます。

positionSuccess()したがって、保存を行うことができるという関数を提供する必要があります。自分でチェックする必要はありません。

getCurrentPosition多少時間がかかりますのでご了承ください。これは別のプロセスに渡され [これは非同期処理と呼ばれます]、コードは次の行に続きます。現在のコードでは、ジオロケーションの結果が見つかるかなり前に、実行が「here I need check」テストに到達します。これが、成功と失敗を処理する他の関数がある理由です。結果がいつ返されるかは保証されません。

于 2012-07-07T17:35:06.347 に答える