我正在做一個AR應用程序,根據具體位置的位置顯示cameraView中的UILabel。當iphone的指南針通向該地點時,標籤顯示在屏幕的中心。
我的問題是,我想這個標籤旋轉到左邊或右邊,當我打開iPhone。 我想有一種方法可以將指南針的度數映射到屏幕座標,這樣我就可以在屏幕的正確位置重新繪製標籤,但我無法想象如何做到這一點。 我不需要加速度計來做到這一點,我只需要將指南針值轉換爲屏幕座標。 有人知道一些解決方案嗎? 謝謝!如何將iphone的羅盤值映射到屏幕座標?
回答
假設你的當前位置和目標位置都表示在CLLocationCoordinate2D - 使用下面的從源獲取的角度(弧度),到目的地:
- (float) getHeadingForDirectionFromCoordinate:(CLLocationCoordinate2D)fromLoc toCoordinate:(CLLocationCoordinate2D)toLoc
{
float fLat = [self angleToRadians:fromLoc.latitude];
float fLng = [self angleToRadians:fromLoc.longitude];
float tLat = [self angleToRadians:toLoc.latitude];
float tLng = [self angleToRadians:toLoc.longitude];
return atan2(sin(tLng-fLng)*cos(tLat), cos(fLat)*sin(tLat)-sin(fLat)*cos(tLat)*cos(tLng-fLng));
}
然後,只需減去當前的羅盤航向到這個標題(或反之亦然)和setRotation你的箭頭/標記/視圖標籤或任何。
使用此爲angleToRadians:
-(float) angleToRadians:(float) a {
return ((a/180)*M_PI);
}
因此,如果橫向模式下iphone的寬度爲460像素,則YscreenCenter的值爲230.寬度值是從屏幕到哪裏的距離?我不明白什麼代表這個值 – 2010-10-27 15:38:56
我現在明白你的意思,但我的問題是我沒有寬度值(到屏幕中心的距離)。我只有相對於我的位置(度),而我擁有的另外一點是羅盤的標題(以度爲單位)。所以當指南針的標題等於標籤顯示在屏幕中心的位置時。在這一刻,如果我把iPhone轉到右邊,我需要標籤轉向左邊指向的地方,反之亦然。對不起,我已經花了上週的這個問題,我無法解決它,所以非常感謝你的幫助。 – 2010-10-27 17:44:20
1.只需使用一個常量作爲「寬度」。選擇「100」 - 僅用於顯示目的。 2.你的意思是你只需要在標籤上設置「setRotation」? – Brad 2010-10-27 18:49:06
- 1. Iphone的高清屏幕沒有映射到繪圖座標
- 2. 光線跟蹤問題,如何將屏幕座標映射到世界座標?
- 3. OpenGL沒有將座標正確映射到android屏幕
- 4. C#:在多個屏幕環境中將絕對地圖屏幕映射到相對屏幕座標
- 5. 將屏幕座標映射到紋理貼圖時產生的文物
- 6. 投影屏幕座標到世界座標軸射線
- 7. 如何投射網絡攝像頭捕獲的幀座標到屏幕座標
- 8. 將座標映射到位置的API
- 9. 映射對於不同的屏幕座標尺寸
- 10. 將屏幕座標轉換爲座標
- 11. 如何將軟鍵盤按鈕映射到Android屏幕上的按鈕?
- 12. 將xml屏幕映射到表格
- 13. OpenGL座標映射到設備座標
- 14. MKMap座標映射到圖像座標
- 15. 如何將Windows屏幕座標轉換爲屏幕截圖像素座標?
- 16. OpenGL:如何將世界座標轉換爲屏幕座標?
- 17. 如何將頂點座標轉換爲屏幕像素座標?
- 18. Cocos2D iPhone - 屏幕座標x精靈的內部座標
- 19. 如何將座標映射到word2vec中的單詞
- 20. 如何將2d點從一個座標系映射到另一個座標系
- 21. 如何將設備座標系映射到世界座標系android
- 22. 如何點擊屏幕上的座標?
- 23. 如何將鼠標的座標轉換頁映射谷歌上的座標
- 24. 將座標從iPhone屏幕大小轉換爲iPad屏幕大小
- 25. threejs - 幾何座標系到屏幕座標系
- 26. 從標準化設備座標到屏幕座標的關係?
- 27. PyQt將鼠標按鈕的座標映射到圖像的座標系
- 28. OpenGL座標匹配屏幕座標?
- 29. 產地到屏幕座標的DirectX
- 30. android屏幕座標如何工作?
我可能會誤解你的問題,但不是你實際上是試圖確定在iphone的旋轉比起始位置,並相應地旋轉標籤的角度? – Rox 2010-10-27 12:23:20
我實際上試圖確定從指南針的方向到屏幕座標的位置。例如,如果我有一個指向北方的標籤,則當指南針朝北時,我希望它顯示在屏幕的中心,如果我將iphone向左或向右轉,則此標籤將繼續指向北方 – 2010-10-27 15:44:37