2012-02-02 36 views
2

我有一个按钮的活动,我只是想通过gps/internet/etc获取当前用户位置的按钮,并显示与这些坐标吐司。就是这样,只需检查一次,并显示出来。每次点击按钮时,应该更新并显示坐标。Android - 如何根据需求获取当前用户坐标/位置?

我该怎么做?我在清单中

"android.permission.INTERNET" 
"android.permission.ACCESS_FINE_LOCATION" 
"android.permission.ACCESS_NETWORK_STATE" 
"android.permission.ACCESS_COARSE_LOCATION" 

的logcat的只能说明无法应用程序启动时获取连接工厂客户一些很难理解的LocationManager(如果这就是我应该使用)

我有这些。该应用程序首先显示了一个mapview,并且工作正常,所以我不知道该错误是否是我的问题。

我所做的:

... 
LocationManager mlocManager = 

(LocationManager)getSystemService(Context.LOCATION_SERVICE); 
LocationListener mlocListener = new MyLocationListener(); 
mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mlocListener); 
.... 
    public class MyLocationListener implements LocationListener 
    { @Override public void onLocationChanged(Location loc) 
{   
TextView textView = (TextView) findViewById(R.id.textView2); 
textView.setText("Latitud: "+loc.getLatitude()+" , Longitud"+loc.getLongitude()); 
} 
... 
} 

它不改变 textview2值

+3

StackOverflow用于编程问题。这不是一个问题。 – CommonsWare 2012-02-02 14:53:15

+0

编辑标题。对不起* – 2012-02-02 14:57:49

+1

当GPS芯片得到修复并且操作系统决定发送它时,位置被更新并且onLocationChanged方法运行,而不是当你按下按钮时。 – NickT 2012-02-02 15:16:10

回答

0

使用全局变量onLocationChanged(Location l)onClick()关你瑟值的按钮。该值将始终被实现。