package com.baidu.map_tool; import java.util.List; import org.xdgdg.tripguide_xidian.R; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.view.WindowManager; import android.widget.Button; import android.widget.TextView; import com.baidu.mapapi.map.MKOLUpdateElement; import com.baidu.mapapi.map.MKOfflineMap; import com.baidu.mapapi.map.MKOfflineMapListener; import com.baidu.mapapi.map.MapController; import com.baidu.mapapi.map.MapView; import com.baidu.platform.comapi.basestruct.GeoPoint; public class mapActivity extends Activity { protected static final int INQUIREFIRSTLINE = 0x101; protected static final int INQUIRESECONDLINE = 0x102; protected final int sleep_time = 2000; // 原缩放级别 private final int zoom_level = 17; // 西電34.12309, 108.84179 // 34.1233959,108.83594160000007 // 源地址为西电 private double src_pt_x = 34.1233959; private double src_pt_y = 108.83594160000007; // 目标地址由外部activity传进来 // private double tar_pt_x = 34.1233959 + 0.01; // private double tar_pt_y = 108.83594160000007 + 0.01; protected MapView map_view = null; protected MapController map_controller = null; protected MKOfflineMap mOffline = null; // protected MapMask amask; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); Log.i("axlecho", "set no title ok."); MapBase.Instance(this); Log.i("axlecho", "init instance ok"); init(); } @Override protected void onPause() { map_view.onPause(); Log.i("axlecho", "pause ok."); super.onPause(); } @Override protected void onResume() { map_view.onResume(); Log.i("axlecho", "resume ok."); super.onResume(); } @Override protected void onDestroy() { map_view.destroy(); MapBase.Instance(this).terminate(); Log.i("axlecho", "destroy ok."); super.onDestroy(); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); map_view.onSaveInstanceState(outState); } @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); map_view.onRestoreInstanceState(savedInstanceState); } public void setbegin() { GeoPoint pt_begin = new GeoPoint((int) (src_pt_x * 1E6),(int) (src_pt_y * 1E6)); Log.i("mapActivity设定地点", String.valueOf(src_pt_x * 1E6)+" "+ String.valueOf(src_pt_y* 1E6)); map_controller.setCenter(pt_begin); map_controller.setZoom(zoom_level); } public void scanofflinemap() { /** 离线地图初始化 **/ mOffline = new MKOfflineMap(); mOffline.init(map_controller, 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%%", update.cityName, // update.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(); Log.i("axlecho", "the offline packet number:" + String.valueOf(num)); } protected void init() {} }