gpt4 book ai didi

Android:快速获取 GPS 位置

转载 作者:太空宇宙 更新时间:2023-11-03 11:40:49 26 4
gpt4 key购买 nike

我需要在我的应用程序中找到一个 GPS 位置,它不需要准确(准确度大约 1 公里)但我需要非常快速! (1s-5s)

我注册这个监听器:

mlocListener = new MyLocationListener();
mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
mlocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener);

但这需要很长时间才能找到解决方案!有谁知道我可以更快找到位置的方法(我基本上只需要设备所在的当前城镇)。谢谢!

最佳答案

由于您不需要非常细粒度的位置并且需要快速,因此您应该使用 getLastKnownLocation。像这样:

LocationManager lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE);
Criteria crit = new Criteria();
crit.setAccuracy(Criteria.ACCURACY_COARSE);
String provider = lm.getBestProvider(crit, true);
Location loc = lm.getLastKnownLocation(provider);

编辑:Android 开发者博客有一篇不错的帖子 here这样做。博客中的这个 fragment 遍历所有位置提供者以获取最后一个已知位置。这似乎是你需要的

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;
}
}
}

关于Android:快速获取 GPS 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9760359/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com