如何获取当前的经纬度并在吐司中显示?

Posted

技术标签:

【中文标题】如何获取当前的经纬度并在吐司中显示?【英文标题】:How to get current latitude and longitude and show in a toast? 【发布时间】:2020-04-08 17:54:52 【问题描述】:

您好,我知道这个问题已经存在,但直到现在还没有得到我的解决方案。我尝试了很多方法来使用 java 在 android studio 中获取当前位置,但都显示相同的消息 location is null 并且纬度经度显示 0.0/0.0

如果有人知道解决此问题的完美解决方案吗?

【问题讨论】:

你能发布你正在遵循的解决方案吗? 你是用模拟器还是真机? 你有没有看***.com/questions/17591147/… 我在真实设备中测试 【参考方案1】:

您可以使用 LocationManager。

LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double longitude = location.getLongitude();
double latitude = location.getLatitude();

对 getLastKnownLocation() 的调用不会阻塞 - 这意味着如果当前没有可用的位置,它将返回 null - 所以您可能想看看将 LocationListener 传递给 requestLocationUpdates() 方法,这将给出你异步更新你的位置。

private final LocationListener locationListener = new LocationListener() 
    public void onLocationChanged(Location location) 
        longitude = location.getLongitude();
        latitude = location.getLatitude();
        Toast.makeText(this, "longitude " + longitude + "latitude " + latitude, Toast.LENGTH_SHORT).show();
    

lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 10, locationListener); 如果您想使用 GPS,您需要为您的应用授予 ACCESS_FINE_LOCATION 权限。

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

您可以在 GPS 不可用时添加 ACCESS_COARSE_LOCATION 权限,并使用 getBestProvider() 方法选择您的位置提供商。

【讨论】:

以上是关于如何获取当前的经纬度并在吐司中显示?的主要内容,如果未能解决你的问题,请参考以下文章

如何获得当前的纬度和经度?

在不显示提示信息的情况下,如何获取用户当前位置的经纬度

如何每隔 1 分钟获取当前位置?

如何使用 CLLocationManager-Swift 获取当前的经度和纬度

delphi里面,如何获取指点窗口内坐标100,100的颜色?

如何获取android移动设备的当前位置经纬度?