解决方案 »

  1.   

    好久不写地图,也记不太清楚了,好像是要写个类继承Application,你自己试下
    public class DemoApplication extends Application {

        private static DemoApplication mInstance = null;
        public boolean m_bKeyRight = true;
        BMapManager mBMapManager = null;    public static final String strKey = "zvExRK40oxh2Gc6EhSo7rGDO";

    @Override
        public void onCreate() {
        super.onCreate();
    mInstance = this;
    initEngineManager(this);
    }

    public void initEngineManager(Context context) {
            if (mBMapManager == null) {
                mBMapManager = new BMapManager(context);
            }        if (!mBMapManager.init(strKey,new MyGeneralListener())) {
                Toast.makeText(DemoApplication.getInstance().getApplicationContext(), 
                        "BMapManager  初始化错�?", Toast.LENGTH_LONG).show();
            }
    }

    public static DemoApplication getInstance() {
    return mInstance;
    }


     
        static class MyGeneralListener implements MKGeneralListener {
            
            @Override
            public void onGetNetworkState(int iError) {
                if (iError == MKEvent.ERROR_NETWORK_CONNECT) {
                    Toast.makeText(DemoApplication.getInstance().getApplicationContext(), "您的网络出错啦!",
                        Toast.LENGTH_LONG).show();
                }
                else if (iError == MKEvent.ERROR_NETWORK_DATA) {
                    Toast.makeText(DemoApplication.getInstance().getApplicationContext(), "输入正确的检索条件!",
                            Toast.LENGTH_LONG).show();
                }
                // ...
            }        @Override
            public void onGetPermissionState(int iError) {
              
                if (iError != 0) {
                 
                    Toast.makeText(DemoApplication.getInstance().getApplicationContext(), 
                            "请在 DemoApplication.java文件输入正确的授权Key,并检查您的网络连接是否正常!error: "+iError, Toast.LENGTH_LONG).show();
                    DemoApplication.getInstance().m_bKeyRight = false;
                }
                else{
                 DemoApplication.getInstance().m_bKeyRight = true;
                 Toast.makeText(DemoApplication.getInstance().getApplicationContext(), 
                            "key认证成功", Toast.LENGTH_LONG).show();
                }
            }
        }
      

  2.   

    根据以前不显示图层的经验
    1,那个百度api的秘钥要正确
    2,api有没有更新到最新呢
    3,可以把缓存清除了试试我记得以前用老版api可以显示地图,新版api就不能显示,后来我把手机sd卡里跟百度地图有关的东西全删了居然就能刷出来了
      

  3.   

    请问大神 有没有做过百度地图SDK3.0  代码混淆后 地图功能不能正常使用了 也不报错 为什么啊 请帮帮忙-optimizationpasses 5
    -dontusemixedcaseclassnames
    -dontskipnonpubliclibraryclasses
    -dontpreverify
    -verbose
    -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*-libraryjars libs/armeabi/libBaiduMapSDK_v3_0_0.so 
    -libraryjars libs/armeabi/liblocSDK4d.so  
    -libraryjars libs/baidumapapi_v3_0_0.jar
    -libraryjars libs/locSDK_4.2.jar-dontwarn com.baidu.mapapi.**
    -dontwarn com.baidu.platform.**
    -dontwarn com.baidu.location.**
    -dontwarn com.baidu.vi.**
    -dontwarn vi.com.gdi.bgl.android.**-keep class com.baidu.mapapi.** {*; }
    -keep class com.baidu.platform.** {*; }
    -keep class com.baidu.location.** {*; }
    -keep class com.baidu.vi.** {*; }
    -keep class vi.com.gdi.bgl.android.** {*; }-keep class android.webkit.** { *; } 
    -keep class com.google.android.maps.** { *; } -keep class android.support.v4.** { *; }
    -keep class com.baidu.mapapi.** { *; }
    -dontwarn com.baidu.mapapi.**
     
    -keep class com.baidu.mapapi.search.route.OnGetRoutePlanResultListener.class{
     public *;
    }
     
    -keepnames class * implements java.io.Serializable
    -keepclassmembers class * implements java.io.Serializable { 
        <fields>;
    }
     
    -keepclassmembers class * { 
        public <methods>;
    }
    -keep public class * extends android.app.Activity
     -keep public class * extends android.app.Application
     -keep public class * extends android.app.Service
     -keep public class * extends android.content.BroadcastReceiver
     -keep public class * extends android.content.ContentProvider
     -keep public class * extends android.app.backup.BackupAgentHelper
     -keep public class * extends android.preference.Preference
     -keep public class com.android.vending.licensing.ILicensingService
     
    -keepclasseswithmembernames class * {
         native <methods>;
     }
    -keepclasseswithmembers class * {
         public <init>(android.content.Context, android.util.AttributeSet);
    }
    -keepclasseswithmembers class * {
         public <init>(android.content.Context, android.util.AttributeSet, int);
    }
    -keepclassmembers class * extends android.app.Activity {
        public void *(android.view.View);
    }
    -keepclassmembers enum * {
         public static **[] values();
         public static ** valueOf(java.lang.String);
    }
    -keep class * implements android.os.Parcelable {
       public static final android.os.Parcelable$Creator *;
      

  4.   

    没仔细看楼主的代码,以前我也遇到过,解决办法是更新百度的SDK,还有就是APIkey要正确;还有一个问题是之前可显示,之后不可显示,是因为最新的SDK将秘钥位数从32位变成了24位,重新生成了就OK了。