注意:SDK支持导入离线包,将从官方渠道下载的离线包(只支持老版)解压,把其中的Mapdata文件夹拷入SD卡根目录下的BaiduMapSdk文件夹内。
//申明变量
BMapManager mBMapMan = null;MapView mMapView = null;
MKOfflineMap mOffline = null; //离线地图变量
// 授权Key
// TODO: 请输入您的Key,
// 申请地址:http://dev.baidu.com/wiki/static/imap/key/
String mStrKey = "53FC508502D4FFFF7480AFC6CF419288B1DBCA68";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.offline);
mBMapMan = new BMapManager(getApplication());
mBMapMan.init(mStrKey,null);
super.initMapActivity(mBMapMan);
mMapView = (MapView)findViewById(R.id.bmapView);
mMapView.setBuiltInZoomControls(true);
// MapController mMapController = mMapView.getController(); // 获得mMapView的把握权,可以用它把握和驱动平移和缩放
// mMapController.setZoom(13); //设置地图zoom级别
ImageView iv = (ImageView) mMapView.getChildAt(1);
mMapView.removeViewAt(1);
//调整百度地图图标的位置
// iv.setPadding(0, 0, 0, 100);
mOffline = new MKOfflineMap();
mOffline.init(mBMapMan, new MKOfflineMapListener() {
public void onGetOfflineMapState(int type, int state) {
switch (type) {
case MKOfflineMap.TYPE_DOWNLOAD_UPDATE:
{
MKOLUpdateElement update = mOffline.getUpdateInfo(state);
//mText.setText(String.format("%s : %d%%", .cityName, .ratio));
}
break;
case MKOfflineMap.TYPE_NEW_OFFLINE:
Log.d("OfflineDemo", String.format("add offlinemap num:%d", state));
break;
case MKOfflineMap.TYPE_VER_UPDATE:
Log.d("OfflineDemo", String.format("new offlinemap ver"));
break;
}
}
}
);
/** 离线地图导入离线包 **/
int num = mOffline.scan();
//if (num != 0) mText.setText(String.format("已安装%d个离线包", num));
}