【发布时间】:2012-06-30 08:23:45
【问题描述】:
android2.3.3如何获取当前经纬度?
我尝试关注this,但我无法运行程序。
我的代码
LatView = (TextView)findViewById(R.id.LatText);
LngView = (TextView)findViewById(R.id.LngText);
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double longitude = location.getLongitude();
double latitude = location.getLatitude();
我在 android manifest 中放了这个。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
请帮忙。 谢谢。
【问题讨论】:
-
无法运行?错误是什么?
-
应用程序崩溃时发布 logcat。
-
您是否在模拟器上进行测试,如果是,您需要进入 Eclipse 中的 DDMS 透视图,将位置坐标传递到模拟器中进行测试。它不会即时生成随机的。
-
有时系统将getLastKnownLocation返回为null,因此location.getLongitude()会抛出空指针异常
-
正如 jerryroberts 所说,模拟器需要你伪造某个位置。然而,ddms 的这个功能相当有问题,至少在我使用它的时候是这样,使用真正的设备是迄今为止使用 gps 时最好的。
标签: java android geolocation