java.lang.NullPointerException: Attempt to invoke virtual method ‘void com.baidu.mapapi.map.BaiduMap.setMyLocationEnabled(boolean)’ on a null object reference
at com.dongwanghan.mapscov.MapsActivity.onStart(MapsActivity.java:88)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1425)
at android.app.Activity.performStart(Activity.java:7825)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3294)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
开启百度地图定位图层,报“空指针异常”的错误
部分源代码如下:
@Override
protected void onStart() {
super.onStart();
//开启地图定位图层
mBaiduMap.setMyLocationEnabled(true);
if(!mLocationClient.isStarted()){
mLocationClient.start();
}
}
加入try catch,显示地图功能正常运行
把mBaiduMap.setMyLocationEnabled(true);放入onCreate中也是报同样的错误
已经找到解决方法
private void initView(){
mMapView = (MapView) findViewById(R.id.bmapView);
}
上面这个开启百度地图的方法,只是显示了地图,但是定位图层也需要
所以需要在代码中添加
mBaiduMap = mMapView.getMap();
这个语句。,最后呈现结果是
private void initView(){
mMapView = (MapView) findViewById(R.id.bmapView);
mBaiduMap = mMapView.getMap();
}
不过空指针问题解决了,接下来就还有定位问题