0

根据这个演示:代码

我想将当前的纬度设为双倍或字符串。通过互联网或 gps

但我通过互联网更好,当时我使用这样的gps:

@Override
protected void onResume() {
    super.onResume();
    MyLocation(); }

public void MyLocation() { 
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        return;
    }
    locationManager.requestLocationUpdates(provider, 200, 1, this);
}


@Override
public void onLocationChanged(Location location) {
    a_lat =String.valueOf(location.getLatitude());
    a_lon =String.valueOf(location.getLongitude()); }   
4

1 回答 1

0

要请求,您必须使用位置管理器并调用位置侦听器。在 onLocationChanged() 方法中,您可以通过 loc.getlatitude() 和 loc.getlongitude() 访问纬度和经度。

您还应该添加权限检查,因为根据 android 开发人员https://developer.android.com/guide/topics/permissions/requesting.html#normal-dangerous,位置属于危险权限组

此外,这个 github repo 对我来说很好用:

https://github.com/Shobhit95Sharma/Gps_location/blob/master/app/src/main/java/testing/gps_location/MainActivity.java

于 2017-06-29T05:11:49.840 回答