2017-04-13 8 views
1

私はオンラインで検索しましたが、このようなものはまだ見つかりませんでした。基本的に、私が特定の場所に面しているかどうかを知る方法はありますか?Androidで特定の場所に面しているかどうかを確認するにはどうすればよいですか?

たとえば、現在地は緯度が&、現在の緯度は&、経度は2番目です。今度は、私が回っているときに、第2の場所が私の目の前にあるときを知りたい。

+0

[もっと速い回答を得るために、どのような状況で「緊急」や他の類似のフレーズを追加することができますか?](https://meta.stackoverflow.com/q/326569) - 概要は次のとおりですこれはボランティアに対処する理想的な方法ではなく、おそらく回答を得ることには非生産的であるということです。これをあなたの質問に追加しないでください。 – halfer

+1

@私の謝罪。ありがとうございます – Rafill

答えて

0

Androidの位置情報マネージャを使用すると、あなたの方向/場所を予測できます。このヘルプ場合、私は知りませんが、あなたがGoogleからの場所APIを見てみることができ、このexample

+0

私はすでに現在地を取得できました。今私は2番目の場所を持っていますが、私はその2番目の場所の方向に向いている時を知ることができます。 – Rafill

1

私は、電話機が関心のある場所に「向いている」ということを意味しており、どの軸がこれを決定するのかをすでに知っていると仮定します。私がやるべきことは、デバイスが直面している場所のラジアンを取得してから度に変換するのに、SensorManager.getOrientation(float\[\], float\[\])を使用することです。

次に、私はデバイス(GPSではなく、ネットワークではありません)から正確な現在のポイントを取得し、宛先ロケーションを持つデバイスからの位置にLocation.bearingTo(Location)を呼び出して、度を取得します。

最後に、2つの結果を比較して、デバイスが特定の範囲内で「直面している」かどうかを判断します。これは、目的地が現在地からどのくらい離れているかに基づいて調整する必要がありますが、これを少し実験します。

+0

ありがとう!残念ながら、私はどの軸がこれを決定するのか分かりません。私を啓発してもらえますか?本当にありがとう! – Rafill

+0

このリンクは、電話の座標系(https://developer.android.com/guide/topics/sensors/sensors_overview.html#sensors-coords)のリファレンスとして使用してください。電話機の背面を第2の位置に向けるには、たとえばZ軸が負の値になります。 –

+0

素晴らしい!この比較は単純なif文を使用して行われますか? 'if(-zaxis == bearing)'?ありがとう、私は本当にすべての助けに感謝します。私はこのすべてにとても新しいので、今はちょっと混乱しています。特にAndroidのドキュメントがあります。 – Rafill

関連する問題