2023年7月13日发(作者:)
BaiduMap---百度地图官⽅Demo之离线地图功能(介绍如何下载和使⽤离线地图)版权声明:本⽂为博主原创⽂章,未经博主允许不得转载。 /IT1039871366/article/details/46724501
mOffline = new MKOfflineMap(); /** * public boolean init(MKOfflineMapListener listener) * 初使化 * 返回:成功返回true,否则返回false *
* 需要实现MKOfflineMapListener的onGetOfflineMapState(int type, int state)⽅法 * */ (this);
initView(); } private void initView() { //城市id cidView = (TextView) findViewById(); //城市名称 cityNameView = (EditText) findViewById(); //下载状态 stateView = (TextView) findViewById(); //热门城市列表 ListView hotCityList = (ListView) findViewById(ylist);
ArrayList
if (records1 != null) { /** * MKOLSearchRecord:离线地图搜索城市记录结构 * cityID:城市ID * size:数据包总⼤⼩ * */ for (MKOLSearchRecord r : records1) { (me + "(" + + ")" + " --"+ DataSize()); } } ListAdapter hAdapter = (ListAdapter) new ArrayAdapter
//所有城市列表 ListView allCityList = (ListView) findViewById(ylist); // 获取所有⽀持离线地图的城市 ArrayList
if (records1 != null) { for (MKOLSearchRecord r : records2) { (me + "(" + + ")" + " --"+ DataSize()); } }
ListAdapter aAdapter = (ListAdapter) new ArrayAdapter
* 搜索离线需市 * @param view */ public void search(View view) { /** * public ist
/** * 导⼊按钮点击事件 *
* 从SD卡导⼊离线地图安装包 * @param view */ public void importFromSDCard(View view) { /** * public int importOfflineData() * 导⼊离线地图包 * */ int num = OfflineData(); String msg = ""; if (num == 0) { msg = "没有导⼊离线包,这可能是离线包放置位置不正确,或离线包已经导⼊过"; } else { msg = ("成功导⼊ %d 个离线包,可以在下载管理查看", num); } xt(this, msg, _SHORT).show(); updateView(); } /** * 开始按钮点击事件 *
* 开始下载 * @param view */ public void start(View view) { int cityid = nt(t().toString()); /** * public boolean start(int cityID) * 启动下载指定城市ID的离线地图 * 参数:cityID - 指定的城市ID * 返回:成功返回true,否则返回false * */ (cityid);
//设置下载管理点击时间按钮响应为空 clickLocalMapListButton(null); xt(this, "开始下载离线地图. cityid: " + cityid, _SHORT).show(); updateView(); } /** * 停⽌按钮点击事件 *
* 暂停下载 * @param view */ public void stop(View view) { int cityid = nt(t().toString());
/** * public boolean pause(int cityID) * 暂停下载指定城市ID的离线地图 * 参数:cityID - 指定的城市ID * 返回:成功返回true,否则返回false * */ (cityid); xt(this, "暂停下载离线地图. cityid: " + cityid, _SHORT).show(); updateView(); } /** * 删除按钮点击事件 *
* 删除离线地图 * @param view */ public void remove(View view) { int cityid = nt(t().toString()); /** * public boolean remove(int cityID) * 删除指定城市ID的离线地图 * 参数:cityID - 指定的城市ID * 返回:成功返回true,否则返回false * */ (cityid); xt(this, "删除离线地图. cityid: " + cityid, _SHORT).show(); updateView(); } /** * 城市列表按钮点击事件 *
* 切换⾄城市列表 * @param view */ public void clickCityListButton(View view) { //城市列表 LinearLayout cl = (LinearLayout) findViewById(st_layout); LinearLayout lm = (LinearLayout) findViewById(ap_layout); ibility(); ibility(E); } /** * 下载管理按钮点击事件 *
* 切换⾄下载管理列表 * @param view */ public void clickLocalMapListButton(View view) { LinearLayout cl = (LinearLayout) findViewById(st_layout); //已下载城市 LinearLayout lm = (LinearLayout) findViewById(ap_layout); ibility(E); ibility(); }
/** * 更新状态显⽰ */ public void updateView() { /** * public ist
/** * void onGetOfflineMapState(int type,int state) * 返回通知事件 * 参数: * type - 事件类型: _NEW_OFFLINE,
* _DOWNLOAD_UPDATE,
* _VER_UPDATE. * state - 事件状态: 当type为TYPE_NEW_OFFLINE时,表⽰新安装的离线地图数⽬.
* 当type为TYPE_DOWNLOAD_UPDATE时,表⽰更新的城市ID. * */ @Override public void onGetOfflineMapState(int type, int state) { switch (type) { //离线地图下载更新事件类型 case _DOWNLOAD_UPDATE: { /** * public MKOLUpdateElement getUpdateInfo(int cityID) * 返回指定城市ID离线地图更新信息 * 返回:该城市离线地图更新信息 * */ MKOLUpdateElement update = ateInfo(state); // 处理下载进度更新提⽰ if (update != null) { //cityName:城市名称; //ratio:下载⽐率,100为下载完成 t(("%s : %d%%", me,)); updateView(); } } break;
//新安装离线地图事件类型 case _NEW_OFFLINE: // 有新离线地图安装 Log.d("OfflineDemo", ("add offlinemap num:%d", state)); break;
//离线地图数据版本更新事件类型 case _VER_UPDATE: // 版本更新提⽰ // MKOLUpdateElement e = ateInfo(state); break; } } /** * 离线地图管理列表适配器 */ public class LocalMapAdapter extends BaseAdapter { @Override public int getCount() { return (); } @Override public Object getItem(int index) { return (index); } @Override public long getItemId(int index) { return index; } @Override public View getView(int index, View view, ViewGroup arg2) { MKOLUpdateElement e = (MKOLUpdateElement) getItem(index); view = e(,e_localmap_list, null); initViewItem(view, e); return view; } void initViewItem(View view, final MKOLUpdateElement e) { //查看 Button display = (Button) ewById(y); //删除 Button remove = (Button) ewById(); //城市 TextView title = (TextView) ewById(); //更新 TextView update = (TextView) ewById(); //⽐率 TextView ratio = (TextView) ewById();
t( + "%"); t(me);
/** * :是否为更新 * */ if () { t("可更新"); } else { t("最新"); }
if ( != 100) { bled(false); } else { bled(true); }
//删除按钮点击事件 lickListener(new OnClickListener() { @Override public void onClick(View arg0) { (); updateView(); } });
//查看按钮点击事件 lickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); /** * public LatLng geoPt:城市中⼼点坐标 * */ ra("x", ude); ra("y", de); ss(, ); startActivity(intent); } }); } }}
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689215257a222168.html
评论列表(0条)