1

我有谷歌地图活动,我想在其中获取我的位置,但我面临 NullPointerException ......

locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);
Location location = locManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
System.out.println("loaded4");
myPoint = new GeoPoint((int)(location.getLatitude()*1E6),(int)(location.getLongitude()*1E6));
System.out.println("loaded5");

我能够得到“loaded4”但不能得到“loaded5”所以 NullPointer 原因在它们之间。我也尝试使用 GPS_PROVIDER,但没有成功。

是的,我在清单中拥有所有权限。如果我不搜索我的位置,地图可以加载。

是否有可能是 NullPointer,因为在此之前我在同一个类中加载了一些其他坐标?也许它的模拟器故障?如果需要,我可以提供扩展代码。使用来自http://www.chupamobile.com/tutorial/details/53的源代码

4

1 回答 1

2

locManager.getLastKnownLocation如果当前服务已关闭,则返回 null(查看文档http://developer.android.com/reference/android/location/LocationManager.html#getLastKnownLocation%28java.lang.String%29)。

如果您使用的是模拟器,则需要发送位置信息。如果您使用的是 Eclipse,请打开 DDMS 透视图并从“Location Controls”面板发送位置数据。(如何在 Android Emulator 中模拟 GPS 位置?)。

于 2012-11-16T22:57:02.630 回答