我正試圖編寫一個簡單的應用程序,它在Android中使用Google Maps V2 API。 在計時器中,我正在讀取googleMap mylocation函數中的lat long值。谷歌地圖緯度/精度,V2-Android
altitude = googleMap.getMyLocation().getAltitude();
latitude = googleMap.getMyLocation().getLatitude();
longitude = googleMap.getMyLocation().getLongitude();
我繪製了lat,long使用addPolyline()
方法。
我面臨的問題是在前景中使用此應用程序在道路上行走時,我正在直線行走,但情節正在附近的建築物中進行。我已經確定2拉特,長距離在10米的距離。
我用的公式,
public double calcDistance(double lat1, double lng1, double lat2,
double lng2) {
int r = 6371; // average radius of the earth in km
double dLat = Math.toRadians(lat2 - lat1);
double dLon = Math.toRadians(lng2 - lng1);
double a = Math.sin(dLat/2) * Math.sin(dLat/2)
+ Math.cos(Math.toRadians(lat1))
* Math.cos(Math.toRadians(lat2)) * Math.sin(dLon/2)
* Math.sin(dLon/2);
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
double d = r * c;
return d;
}
問題 - 如何得到一條直線,如何讓accurancy或誤差範圍,這樣,而在路上走的人,我不進入建築物
能做到這一點,但我沒有我的問題得到回答 – mSO
瞭解噪音是減少噪音的好開始。例如,卡爾曼濾波器的性能取決於指定的噪聲和運動模型的質量。瞭解GPS噪聲是很困難的(例如,由於改變了選擇的GPS衛星星座而引起的位置跳躍),以便了解附近沒有大型建築物。因此,您瞭解GPS錯誤的任務會更容易。我希望有所幫助。 – gregS