我正在编写一个应用程序来跟踪用户的实时位置并将其显示在地图上。但是,我看到的结果并不令人满意。当我将我的应用程序与 Play 商店中的其他应用程序进行比较时,差异很大。
以下是我迄今为止尝试过的事情:(以防我使用 Xamarin 构建此应用程序)
我之前使用过 Fused Location Api,这与用户当前位置的偏差太大。所以,我尝试使用仅使用 GPS_Provider 的位置管理器。使用它,准确性提高了很多,但仍然不完美。
以下是我使用位置管理器的代码:
protected void CreateLocationRequest() {
if (locMgr.AllProviders.Contains (LocationManager.GpsProvider) && locMgr.IsProviderEnabled (LocationManager.GpsProvider)) {
locMgr.RequestLocationUpdates (LocationManager.GpsProvider, 3000, 2, this);
}
}
public void OnLocationChanged (Location location)
{
Console.WriteLine ("OnLocationChanged");
if(location != null && location.Accuracy <= 20){
drawPath (location);
}
}
下面是我的应用程序的屏幕截图:
下面是来自 Playstore 的应用程序的屏幕截图