我正在使用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);
}
}
答案 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);
}