(Android)百度地圖--只定位獲取數據不顯示地圖
作者:luyanhong
轉載請加說明、鏈接。
環境:Eclipse。
擴展包:baiduumapapi_v2_1_1.jar ; locSDK_3.1.jar ; (放到libs/)
so文件:libapp_BaiduMapApplib_v2_1_1.so ; liblocSDK3.so ; libvi_voslib.so ;
(放到libs/armeabi/,是否都有用處,未進行測試)
AndroidManifest.xml
把百度地圖要求的權限給上。我只刪除了一些。具體如下:
<uses-permission
android:name="android.permission.GET_ACCOUNTS" />
<uses-permission
android:name="android.permission.USE_CREDENTIALS" />
<uses-permission
android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission
android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<permission
android:name="android.permission.BAIDU_LOCATION_SERVICE" ></permission>
<uses-permission
android:name="android.permission.BAIDU_LOCATION_SERVICE" > </uses-permission>
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" ></uses-permission>
<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION" ></uses-permission>
<uses-permission
android:name="android.permission.INTERNET" > </uses-permission>
<uses-permission
android:name="android.permission.ACCES_MOCK_LOCATION" ></uses-permission>
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" ></uses-permission>
<uses-permission
android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission
android:name="android.permission.WAKE_LOCK" ></uses-permission>
<uses-permission
android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission
android:name="android.permission.ACCESS_GPS" />
<uses-permission
android:name="android.permission.READ_PHONE_STATE" />
定義一個Application: MyApplication.java
private static MyApplication mInstance = null;
public
boolean m_bKeyRight = true;
BMapManager
mBMapManager = null;
public
static final String strKey = "3F4788E1F19CCF7BC6B4ACAA397BD7868F9A974A";
@Override
public
void onCreate() {
super.onCreate();
mInstance
= this;
initEngineManager(this);
}
@Override
//建議在您app的退出之前調用mapadpi的destroy()函數,避免重複初始化帶來的時間消耗
public
void onTerminate() {
//
TODO Auto-generated method stub
if
(mBMapManager != null) {
mBMapManager.destroy();
mBMapManager
= null;
}
super.onTerminate();
}
public
void initEngineManager(Context context) {
if
(mBMapManager == null) {
mBMapManager
= new BMapManager(context);
}
if
(!mBMapManager.init(strKey,new MyGeneralListener())) {
Toast.makeText(MyApplication.getInstance().getApplicationContext(),
"BMapManager 初始化錯誤!",
Toast.LENGTH_LONG).show();
}
}
public
static MyApplication getInstance() {
return
mInstance;