在oncreacte方法中加上mapView.getOverlays().add(new MyOverlay());后程序就崩溃了,这到底是为什么啊,是参照百度地图api文档进行的    求答案!!!!

解决方案 »

  1.   

    找到LogCat,将里面的详细出错信息发上来看看。
      

  2.   

    07-31 11:16:48.805: E/AndroidRuntime(333): FATAL EXCEPTION: main
    07-31 11:16:48.805: E/AndroidRuntime(333): java.lang.NullPointerException
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.ViewConfiguration.get(ViewConfiguration.java:228)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.View.<init>(View.java:1878)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.ViewGroup.<init>(ViewGroup.java:281)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at com.baidu.mapapi.MapView.<init>(Unknown Source)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at com.search.Baidu1Activity$MyOverlay.draw(Baidu1Activity.java:111)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at com.baidu.mapapi.Overlay.draw(Unknown Source)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at com.baidu.mapapi.a.d(Unknown Source)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at com.baidu.mapapi.a.b(Unknown Source)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at com.baidu.mapapi.a.onDraw(Unknown Source)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.View.draw(View.java:6880)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.View.draw(View.java:6883)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.widget.FrameLayout.draw(FrameLayout.java:357)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.View.draw(View.java:6883)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.widget.FrameLayout.draw(FrameLayout.java:357)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1862)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.ViewRoot.draw(ViewRoot.java:1522)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.ViewRoot.performTraversals(ViewRoot.java:1258)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.os.Handler.dispatchMessage(Handler.java:99)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.os.Looper.loop(Looper.java:123)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at android.app.ActivityThread.main(ActivityThread.java:3683)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at java.lang.reflect.Method.invokeNative(Native Method)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at java.lang.reflect.Method.invoke(Method.java:507)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    07-31 11:16:48.805: E/AndroidRuntime(333):  at dalvik.system.NativeStart.main(Native Method)
      

  3.   

    Baidu1Activity.java第111行出错,从出错提示应该是mapView对象未初始化,为空Baidu1Activity.java文件发上来看看。
      

  4.   

    百度的api竟然错了, public void draw(Canvas canvas, MapView mapView, boolean shadow) {
            //在天安门的位置绘制一个String
            Point point = mMapView.getProjection().toPixels(geoPoint, null);
            canvas.drawText("★这里是天安门", point.x, point.y, paint);
        }
    mMapView错了,原来是mapView
      

  5.   

    我也遇到了类似的问题,错误如此:at com.baidu.mapapi.MapView.getOverlays(Unknown Source)
    还有提示这一行有错mMapView.getOverlays().clear();实在不知该如何解决,求大神帮忙啊!
      

  6.   


    同样的情况,我看了一下,发现mMapView并不为空,但是mMapView.getOverlays()就报错了java.lang.NullPointerException at com.baidu.mapapi.map.MapView.getOverlays(Unknown Source)非常奇怪
      

  7.   

    楼主,我找到原因了
    这是因为我们在退出APP的时候没有完全销毁该销毁的东西,你看下是不是你没有执行app.mBMapManager.destroy();
      

  8.   

    super.initMapActivity(((LvmmApplication)getApplication()).mBMapManager);
      

  9.   

    “new MyOverlay()”,强烈怀疑这个为空,然后就成了在add一个空内容,自然出了NullPointerException