学向勤中得,萤窗万卷书。这篇文章主要讲述获取当前lat长的android相关的知识,希望能为你提供帮助。
我想在Button按下获取Location对象。我知道LocationListener回调,但它们只在特定时间或距离后执行。我想立即获得位置。有没有办法这样做。
答案欢迎您在getLastKnownLocation()
上致电LocationManager
,以检索您所请求的位置提供商的最后一个已知位置。然而:
- 那个位置可能很旧
- 那个位置可能是
null
另一答案
public class GPSHelper {private Context context;
// flag for GPS Status
private boolean isGPSEnabled = false;
// flag for network status
private boolean isNetworkEnabled = false;
private LocationManager locationManager;
private Location location;
private double latitude;
private double longitude;
public GPSHelper(Context context) {
this.context = context;
locationManager = (LocationManager) context
.getSystemService(Context.LOCATION_SERVICE);
}public void getMyLocation() {
List<
String>
providers = locationManager.getProviders(true);
Location l = null;
for (int i = 0;
i <
providers.size();
i++) {
l = locationManager.getLastKnownLocation(providers.get(i));
if (l != null)
break;
}
if (l != null) {
latitude = l.getLatitude();
longitude = l.getLongitude();
}
}public boolean isGPSenabled() {
isGPSEnabled = locationManager
.isProviderEnabled(LocationManager.GPS_PROVIDER);
// getting network status
isNetworkEnabled = locationManager
.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
return (isGPSEnabled || isNetworkEnabled);
}/**
* Function to get latitude
*/
public double getLatitude() {
return latitude;
}/**
* Function to get longitude
*/
public double getLongitude() {
return longitude;
}
另一答案使用
LocationManager
类:locationManager = (LocationManager)this.getSystemService(LOCATION_SERVICE);
location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location != null) {
latitude=location.getLatitude();
longitude=location.getLongitude();
Log.d("old","lat :"+latitude);
Log.d("old","long :"+longitude);
this.onLocationChanged(location);
}
另一答案请尝试以下方法:https://github.com/delight-im/Android-SimpleLocation
【获取当前lat长的android】如果您的位置已启用,则只需3行代码:
SimpleLocation location = new SimpleLocation(this);
//or context instead of this
double latitude = location.getLatitude();
double longitude = location.getLongitude();
推荐阅读
- 接收广播Intent时出错{act = android.location.PROVIDERS_CHANGED flg = 0x10}
- 经度和纬度GPSTracker Android总是返回0,0
- Android服务在其仍处于活动状态时停止后台处理
- 如何使用网络在Android中使用Fused Location Provider获取位置()
- 如何在Cordova中使用语音识别API(将语音转换为文本)
- 如何验证cordova版本,cordova项目的平台版本以及如何更新它们
- 列出Cordova中的android目录(Filebrowser&Folderbrowser)
- net::ERR_CACHE_MISS(无法在Cordova Android中加载外部URL)
- 解决方案错误(在Android SDK中找不到gradle包装器。可能需要更新你的Android SDK)