我需要找到android的位置。我的问题是秒和精确提供者更快更快:如果两者都启用了GPS_PROVIDER或NETWORK_PROVIDER?你能告诉我返回位置需要多长时间,我是这些东西的新手,对时间一无所知。
答案 0 :(得分:1)
您可以选择Criteria想要获得最佳提供者,例如,如果您的标准是精确的:
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Criteria c = new Criteria();
c.setAccuracy(Criteria.ACCURACY_FINE);
final String PROVIDER = lm.getBestProvider(c, true);
此外,如果您想要快速定位,您可以使用这样的函数(从here中提取)获取最后一个已知位置:
public static Location getLastKnownLocation(LocationManager locationManager)
{
Location bestResult = null;
float bestAccuracy = 0;
long bestTime = 0;
List<String> matchingProviders = locationManager.getAllProviders();
for (String provider: matchingProviders) {
Location location = locationManager.getLastKnownLocation(provider);
if (location != null) {
float accuracy = location.getAccuracy();
long time = location.getTime();
if ((time > minTime && accuracy < bestAccuracy)) {
bestResult = location;
bestAccuracy = accuracy;
bestTime = time;
}
else if (time < minTime &&
bestAccuracy == Float.MAX_VALUE && time > bestTime){
bestResult = location;
bestTime = time;
}
}
}
return bestResult;
}
答案 1 :(得分:0)
通常,考虑到您要求新位置,GPS_PROVIDER比NETWORK_PROVIDER花费更多时间。 NETWORK_PROVIDER通常很快,但GPS_PROVIDER,我不能告诉你(我不知道)确切的时间。
GPS比网络准确。
答案 2 :(得分:0)
在我的情况下,我发现NETWORK_PROVIDER比GPS_PROVIDER更快,很难说 “返回位置需要多长时间”总是不一样......
检查这个,我用它来检索当前位置:
答案 3 :(得分:0)
GPS =&gt;更准确,更需要时间 网络=&gt;不太准确,需要的时间更少
(当然,您可以使用对象标准定义您对此的偏好)
答案 4 :(得分:0)
GPS提供商也只在户外工作,网络提供商也在室内工作。