簡體   English   中英

iPhone SDK指向特定位置

[英]iPhone SDK Point to a specific location

我正在嘗試開發一個使用iPhone的GPS和指南針的應用程序,以便將某種指針指向特定位置(例如指南針始終指向北方)。
該位置是固定的,無論用戶位於何處,我總是需要指針指向該特定位置。
我有該位置的緯度/經度坐標,但不確定如何使用指南針和GPS指向該位置...將不勝感激。

內塔內爾

假設您具有當前點和目標點的經度和緯度。 我們將目標稱為“ Q”,將當前點稱為“ P”。

首先,計算P和Q之間的緯度和經度距離(delta):

dx = q.lat - p.lat
dy = q.lon - p.lon

然后計算用戶要從P到達Q所需行進的角度。這只是基本的三角形幾何形狀:

float angleRadians = atan2(dy,dx);

接下來,我們要將該角度與iPhone指南針提供的當前角度進行比較。 您希望箭頭的方向相對於用戶當前的方向,這樣應用程序會說“向當前方向左側旋轉10º”,而不是“從北方向旋轉56º”。 可以這樣完成:

float relativeRadians = angleRadians - currentHeadingRadians

這樣的事情應該做! 那是一些沉重的偽代碼,但是我認為這是基本思想。 希望有幫助!

上面的答案假設一個平坦的地球,可以在小距離下正常工作,但在長距離下可能不可接受,例如您要制作指向麥加的祈禱指南針。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM