2012-06-04 24 views
6

我已經嘗試了很多,但無法爲我的應用程序製作qibla指南針。 我不明白我在做什麼。我需要使用恰布拉指南針來完善我。 謝謝 paragQibla Compass in Android

+1

你需要很多更具體的。 – Hassan

+0

@Hassan yes Hassan –

+0

您是否想要編程?你有什麼麻煩?你有什麼嘗試? – CaseyB

回答

7

你知道麥加的位置,你知道用戶目前的位置(如果你有GPS或其他位置提供商)。方位由此公式給出,緯度和經度應以弧度表示。

float lonDelta = (lon2 - lon1); 
float y = Math.sin(lonDelta) * Math.cos(lat2); 
float x = Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1) * Math.cos(lat2) * Math.cos(lonDelta); 
float brng = Math.atan2(y, x).toDeg(); 

brng是以度爲單位的方向。

您還可以探索Location.bearingTo()方法。

http://developer.android.com/reference/android/location/Location.html#bearingTo(android.location.Location)

由於達累斯薩拉姆 - Alaikum

+0

我越來越錯誤:不能調用toDeg()在基本類型雙' – Salim

+2

解決它'浮動brng =(浮動)Math.toDegrees(Math.atan2(y,x));'' – Salim