【问题标题】:How to retrieve location on click of a button如何在单击按钮时检索位置
【发布时间】:2014-05-03 12:22:13
【问题描述】:

我希望能够做到这一点:

我有一个TextView 和一个Button。当我点击Button时,TextView的文字应该设置为我当前所在地区的名称。

我发现了一些使用LocationManagerLocationListener 的示例,但似乎LocationListener 监听onLocationChanged

关于如何实现我想做的任何想法?

【问题讨论】:

  • 你检查过你的设备是否开启了 GPS 定位
  • onLocationChanged 将起作用,因为它将获得您可以存储为变量的第一个位置。如果您移动它,它将更新,如果没有,则无需更新,因为您已经存储了位置。

标签: android locationmanager android-location locationlistener


【解决方案1】:

请使用 google map api 获取当前位置,然后从给定的 lat long 打印该位置的地址。我知道它不是详细的答案,但肯定会为您提供开始解决问题的提示。

【讨论】:

    【解决方案2】:

    试试这个,这是最好的方法............

    LocationManager mLocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); LocationListener mLocListener = new MyLocationListener(); mLocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mLocListener);

    公共类 MyLocationListener 实现 LocationListener{

        public void onLocationChanged(Location loc) {           
            String message = String.format(
                        "New Location \n Longitude: %1$s \n Latitude: %2$s",
                        location.getLongitude(), location.getLatitude()
                );
                Toast.makeText(LbsGeocodingActivity.this, message, Toast.LENGTH_LONG).show();
        }
        public void onProviderDisabled(String arg0) {
    
        }
        public void onProviderEnabled(String provider) {
    
        }
        public void onStatusChanged(String provider, int status, Bundle extras) {
    
        }       
    }
    

    【讨论】:

    • onLocationChanged 似乎没有被执行,所以我没有收到任何位置更新。我已经完全按照你在上面的方式进行了尝试。
    • 我也试过这个解决方案,你的几乎就像stackoverflow.com/a/10917500/1319753。同样的问题:onLocationChanged 似乎永远不会被执行。我没有做什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2021-02-12
    • 2019-03-18
    相关资源
    最近更新 更多