android 简单获取经纬度代码
时间: 2023-12-08 11:05:30 浏览: 107
这是一个简单的获取经纬度的代码样例:
```
public class MainActivity extends AppCompatActivity implements LocationListener {
private LocationManager locationManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取位置管理器
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
// 检查是否有权限获取位置信息
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
// 请求位置更新
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
} else {
// 请求权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
// 处理权限请求结果
if (requestCode == 1) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 请求位置更新
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
} else {
// 权限被拒绝
}
}
}
@Override
public void onLocationChanged(Location location) {
// 获取经纬度信息
double latitude = location.getLatitude();
double longitude = location.getLongitude();
// TODO: 处理经纬度信息
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
}
```
这个代码通过获取位置管理器,检查是否有权限获取位置信息,请求权限,请求位置更新等步骤获取经纬度信息。在 `onLocationChanged` 方法中,可以获取到最新的经纬度信息,可以在其中进行后续的处理。
阅读全文