2017-04-13 75 views
1

我在網上搜索,但還沒有找到像這樣的東西。基本上,有沒有一種方法可以讓我知道我是否面對某個位置。如何查找您是否面臨Android中的某個位置?

例如,我有我目前的緯度&的位置,我有第二個位置的緯度&經度。現在我想知道當我轉身時第二個位置在我的前面。

+0

請閱讀[在什麼情況下,我可以添加「緊急」或其他類似的短語到我的問題,以獲得更快的答案?](https://meta.stackoverflow.com/q/326569) - 摘要是這不是解決志願者問題的理想方式,而且可能對獲得答案起反作用。請不要將這添加到您的問題。 – halfer

+1

@halfer我的道歉。謝謝 – Rafill

回答

0

如果您使用Android位置管理器,則可以預測您的方向/位置。看看這個example

+0

我已經能夠獲得當前位置。現在我有第二個位置,我希望能夠知道我在第二個位置的方向上面臨的情況 – Rafill

1

我打算假設你的意思是電話是「面對」感興趣的位置,並且你已經知道哪個軸將決定這一點。我要做的就是使用SensorManager.getOrientation(float\[\], float\[\])來獲得設備所面臨的弧度,然後將其轉換爲度數。

接下來,我將確保從設備(GPS,而不是網絡)獲得準確且當前的點,並在設備上以目標位置爲參數的位置上調用Location.bearingTo(Location)以獲取其度數。

最後,我會比較兩個結果,並確定設備是否「面對」,在一定範圍內。這可能需要根據目的地距離當前位置有多遠來進行調整,但我會稍微試驗一下。

+0

非常感謝!不幸的是,我不知道哪個軸將決定這一點。你能否賜教我?非常感謝! – Rafill

+0

使用此鏈接作爲手機座標系的參考(https://developer.android.com/guide/topics/sensors/sensors_overview.html#sensors-coords)。例如,如果您希望手機的背面朝向第二個位置,那麼這將是負Z軸。 –

+0

太棒了!這個比較是使用簡單的if語句來完成的嗎? 'if(-zaxis == bearing)'?非常感謝,我非常感謝所有的幫助。我對這一切都很陌生,所以現在有點困惑,特別是Android文檔! – Rafill

相關問題