2017-10-26 2 views
1

私はLocation.distanceToを使いたかったのです。アイデアは、ユーザーが移動していない場合、彼らがそうするまで、次の関数呼び出しをしないことです:Location.distanceToはメートルで値を返しますが、足が必要です

ドキュメント distanceToパー
if (oldLocation!!.distanceTo(location) == 0f) { 
    continue 
} 

Returns the approximate distance in meters between this location and the given location. (Source)

チュートリアルでは、足を使用しています。だから私は変換を行い、この場合完全に不要で非効率的なコードをいくつか用意しなければならないと考えました。右?

明らかにそうではありません。

if (oldLocation!!.distanceTo(location) == 0m) { 
    continue 
} 

だから、私はちょうど測定が何であるかを言わずに0を入れて処理することdistanceToを期待している0ドキュメントの言うことですが、それはどちらか動作しません。これは、メートルで:これは、エラーが発生します。だからここ

if (oldLocation!!.distanceTo(location) == 0) { 
    continue 
} 

は、エンド質問です:

それは足でこれを行うチュートリアルではありませんでした、私は、ドキュメントを読んで、それを考え出したことはなかっただろう。決して。私が明示的にメートルを言うとき、それを機能させるための解決策が足を使うことであることをどのように知っていると思いますか?

私は何かを見逃しましたか?

+5

'0f'は' float'の値が0であることを意味します。 '0m'は無効な構文です。ドキュメントの 'distanceTo'が' float'型を返します。 BTW、0メートルと0フィートは同じ距離です。 –

+0

なんらかの理由で私はこれを答えにフラグを立てることができないので、私はそれをupvoted。 戻り値はメートル単位です...浮動小数点形式です。それは間違いなく私が必要とした答えです。 – scottstoll2017

+1

場所は100%正確ではありませんのでご注意ください。 GPSは約10m、ネットワークは100m以下に正確です。移動していなくてもわずかに変更された場所が表示されます。だから正確に== 0をチェックするのは悪い考えです。 –

答えて

1

0fは、0のfloat値を意味します。 0mは無効な構文です。ドキュメントdistanceToはfloat型を返します。

関連する問題