android中的SKobbler定位精度

时间:2015-06-19 10:26:29

标签: android skmaps

我正在使用SKMaps实现自定义精细导航。我正在使用gpsProvider获取gps位置(SKCurrentPositionProvider - > gpsProvider已启用)。

当我的设备连接到wifi时,位置提供商会提供准确的位置。如果我将网络切换到3G(关闭wifi),位置提供商会产生错误的位置结果。

如何克服这个问题?请提供一些建议来克服这个问题。

private void setGpsProviders() {
    currentPositionProvider = new SKCurrentPositionProvider(activity);
    currentPositionProvider.setCurrentPositionListener(activity);

    if (SKNavigationUtils.hasGpsModule(activity)) {
        currentPositionProvider.requestLocationUpdates(true, false, true); //useGpsProvider, useNetworkProvider, usePassiveProvider
    } else if (SKNavigationUtils.hasNetworkModule(activity)) {
        currentPositionProvider.requestLocationUpdates(false, true, true);
    }
}

1 个答案:

答案 0 :(得分:0)

好吧,移动网络的坐标精度非常低(从几百米到几公里),而精确的WiFi有几十米。 确保您已在手机中打开GPS。这可以在代码中完成:

//import android.location.LocationManager;    
public static boolean isGPSEnabled (Context context) {
             LocationManager manager = (LocationManager) context.getSystemService (Context.LOCATION_SERVICE);
             return manager.isProviderEnabled (LocationManager.GPS_PROVIDER);

         }