關於android百度地圖離線地圖的使用

1.首先把離線地圖放在android工程下的assets裏面。

注意:建議離線地圖下載通過百度地圖APIDEMO去下載,因爲到官網上下載的離線地圖文件格式不一樣,APIDEMO的格式是.dat,而官網上的格式是.dat_svc有可能加載不了地圖.

2.把離線地圖從assets下拷貝到sd卡下

 public static void copy(Context context) {
  try {
   String filepath = Environment.getExternalStorageDirectory() + "/"
     + "BaiduMapSDK" + "/" + "vmp" + "/" + "h" + "/"
     + "xxxxx.dat";
   String path = Environment.getExternalStorageDirectory() + "/"
     + "BaiduMapSDK" + "/" + "vmp" + "/" + "h" + "/";
   File file = new File(path);
   if (!file.exists()) {
    file.mkdir();

   }
   if (!(new File(filepath)).exists()) {

    new File(filepath).createNewFile();

    InputStream is = context.getAssets().open(
      "xxxx.dat");
    FileOutputStream fos = new FileOutputStream(filepath);
    byte[] buffer = new byte[8192];
    int count = 0;
    while ((count = is.read(buffer)) > 0) {
     fos.write(buffer, 0, count);
    }
    fos.close();
    is.close();
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

3.初始化離線地圖

private MKOfflineMap mOffline = null;
 MapController mMapController;

mMapController = mMapView.getController();

mOffline = new MKOfflineMap();
  mOffline.init(mMapController, new MKOfflineMapListener() {

   @Override
   public void onGetOfflineMapState(int type, int state) {
    // TODO Auto-generated method stub

    switch (type) {
    case MKOfflineMap.TYPE_DOWNLOAD_UPDATE: {
    }
     break;
    case MKOfflineMap.TYPE_NEW_OFFLINE:

     break;

    case MKOfflineMap.TYPE_VER_UPDATE:
     break;
    }

   }
  });

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章