Android 百度离线地图下载完后调用下载好的离线包

article/2025/11/7 6:41:02

前言  

    最近公司项目需求添加百度地图离线下载后离线地图查看功能,本以为看着文档写一下就行了,看了文档后发现百度文档着实坑爹,文档与实际开发不符合,网上搜了一下,也没搜到切实有用的文章,遂决定写一篇;

步骤

    一;百度离线地图下载完成后,会在手机根目录中生成一个BaiduMapSDKNew的文件,打开里面的vmp文件夹会看到下载到的离线地图包;

 

   二,给离线地图下载完成的列表添加点击事件;

        Adapter里面:

//查看离线地图
listItemView.name.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (list.get(fposition).status==MKOLUpdateElement.FINISHED&&list.get(fposition).ratio==100){context.setIntent(list.get(fposition).cityID);}else if (list.get(fposition).ratio<100){Toast.makeText(context,"请先下载完离线地图",Toast.LENGTH_SHORT).show();}}
});
Activity里面:
//将点击的城市市中心坐标传递到离线地图加载页
public void setIntent(int cityid){MKOLUpdateElement map=mOffline.getUpdateInfo(cityid);Intent intent = new Intent(MyDownMapActivity.this, DownMapShowActivity.class);Bundle bundle=new Bundle();String lon=String.valueOf(map.geoPt.longitude);bundle.putString("lon",lon);String lat=String.valueOf(map.geoPt.latitude);bundle.putString("lat",lat );intent.putExtras(bundle);startActivity(intent);}

三、在离线地图查看页获取到坐标并添加离线地图展示,具体看代码;

 
 
public class DownMapShowActivity extends Activity implements MKOfflineMapListener{private MapView mMapView;FrameLayout layout;Double lat;Double lon;LatLng center;float zoom;MKOfflineMap mkOfflineMap;BaiduMap baiduMap;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//透明状态栏getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//透明导航栏getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);}
        //调用离线地图,否则第二次进入会加载不到mkOfflineMap=new MKOfflineMap();mkOfflineMap.init(this);MapStatus.Builder builder = new MapStatus.Builder();Intent intent = getIntent();if (null != intent) {Bundle bundle=intent.getExtras();String latstr=bundle.getString("lat");lat=Double.valueOf(latstr);String lonstr=bundle.getString("lon");lon=Double.valueOf(lonstr);Log.e("lon",lon+"");center = new LatLng(lat,lon);zoom = 13.0f;}builder.target(center).zoom(zoom);setMapCustomFile();mMapView = new MapView(this, new BaiduMapOptions());initView(this);baiduMap=mMapView.getMap();//默认显示普通地图baiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);baiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));setContentView(layout);}// 初始化Viewprivate void initView(Context context) {layout = new FrameLayout(this);layout.addView(mMapView);}// 设置地图config文件路径private void setMapCustomFile() {String str =Environment.getExternalStorageState().toString()+"/BaiduMapSDKNew/vmp/";File file = new File(str);if (!(file.exists())) {try {new File(str).createNewFile();InputStream iinput = openFileInput(str + ".cfg");FileOutputStream output = new FileOutputStream(str);byte[] buffer = new byte[8192];int i = 0;while ((i = iinput.read(buffer)) > 0) {output.write(buffer, 0, i);}output.close();iinput.close();} catch (Exception e) {e.printStackTrace();}}}@Overrideprotected void onPause() {super.onPause();mMapView.onPause();}@Overrideprotected void onResume() {super.onResume();mMapView.onResume();}@Overrideprotected void onDestroy() {super.onDestroy();mMapView.onDestroy();}@Overridepublic void onGetOfflineMapState(int i, int i1) {}
}

四、完美展示!

文章有什么不对的地方,还望大神指出。

如果文章对你有用,请点个赞!

 

 


http://chatgpt.dhexx.cn/article/tLNHHWEc.shtml

相关文章

Android百度地图(四)如何引入离线地图包

Android百度地图&#xff08;四&#xff09;如何引入离线地图包 本文代码在http://blog.csdn.net/xyzz609/article/details/51955363的基础上进一步修改&#xff0c;有兴趣的同学可以研究下怎么修改的 本篇我们准备为地图添加&#xff1a;引入离线地图包 本文参考的是http:/…

如何下载百度地图离线包并导入OruxMaps

一、什么是OruxMaps OruxMaps是一款支持本地离线地图包的地图应用&#xff0c;适合户外旅行&#xff0c;同时也支持加载OpenStreetMap在线地图&#xff0c;可以导入OZI格式并转换制作成自己的地图&#xff0c;它还可以记录、保存导入航迹、航点并统计相关信息并提供校准功能。…

WinEdit如何修改字体大小

1、在help一栏的后面空白处&#xff0c;右键出现下图 2、点击Options Interface&#xff0c;出现下图&#xff1a; 3、点击Font&#xff0c;出现下图&#xff0c;在FontSize处修改 4、保存Font文件&#xff0c;右键选择Load Script。

WinEdit编辑器中中文乱码

这个问题困扰了我很久。我的电脑上装的CTEX的最新版本&#xff0c;原来我的系统是windows 7 64位系统。装好了CTEX之后&#xff0c;在里面可以直接输入中文&#xff0c;显示和编译生成的PDF文件都正常。但是后来系统崩溃了一次就装回了Windows XP SP3系统。这次装好CTEX之后&am…

WinEdit初使用

下载了CTex和各种文档&#xff0c;还是没搞懂怎么用。大部分文献都是讲解语法&#xff0c;对于我这个菜鸟来说&#xff0c;简单的hello world 都编不出来&#xff0c;对语法就更看不下去了&#xff0c;终于在百度和摸索中得到了hello world。 1、新建一个文档&#xff0c;大家…

解决 winedit 打开tex文件 reading error(亲测可行)

从网上下载的论文模板&#xff0c;发现直接双击打开.tex文件&#xff08;默认关联用winedit打开&#xff09;时会出现reading error&#xff0c;然后看不到任何文字&#xff08;网上有人讨论打开是乱码的问题&#xff0c;但是我的是完全看不到任何东西&#xff09;&#xff0c;…

Winedit修改快捷键

工欲善其事必先利其器&#xff0c;疫情期间只能在家办公&#xff0c;一个小小笔记本没有两个大屏幕来的舒服&#xff0c;因此为了最大化利用屏幕大小&#xff0c;将所有的界面全部隐藏。但是每次编译的时候&#xff0c;我习惯用pdflatex选项&#xff0c;但是wineidt没有设定其快…

winedt103系统找不到指定文件_latex排版(CTeX winEdit输出“系统找不到指定的文件”的终极解决办法)...

这个问题好像经常出现在Win7系统下。winEdit输出“系统找不到指定的文件”&#xff0c;这里“指定的文件”是“TeXify.exe”等需要运行的程序&#xff0c;而不是当前需要编译的“.tex”文件。所以&#xff0c;问题的本质就是系统找不到“TeXify.exe”等可执行文件&#xff0c;解…

winedit 永久试用的办法

软件把安装信息放在注册表里面这种做法真是方便了我等草民啊。 打开CMD。 运行下面的命令。 reg delete "HKEY_CURRENT_USER\Software\WinEdt 7" /v "Install Build" /f reg delete "HKEY_CURRENT_USER\Software\WinEdt 7" /v "Install Roo…

如何粘贴winedit编辑器console中的错误文本信息

补充一个小技巧 如何粘贴winedit便捷器console中的错误文本信息&#xff0c;如下图所示&#xff0c;是报错的信息&#xff0c; 我们点击如下图所示的复制按钮 然后打开记事本粘贴即可 然后使用ctrlf键搜索错误的前两个单词&#xff08;或者一个&#xff09;之后就可以复制错误信…

WinEdit 的algorithm2e包自定义一个带竖线的模块代码

WinEdit 的algorithm2e包自定义一个带竖线的模块 代码 \documentclass{ctexart} \usepackage[linesnumbered,ruled,vlined]{algorithm2e} \begin{document} \begin{algorithm} \caption{The pseudocode of solution procedures} \label{Algo:SoluStep} \KwIn{all data involv…

安装miktex+winedit

1.前言 在使用latex写作编辑英文论文时&#xff0c;最近被安利推荐miktexwinedit&#xff0c;来实现写作工具的准备。 网上资料显示&#xff0c;用Latex排版文档&#xff0c;首先要用文本编辑器编辑好tex文档&#xff0c;然后通过各种程序编译&#xff0c;得到pdf文档用于打印…

如何使用bibtex插入参考文献(基于WinEdit)

如何使用bibtex插入参考文献&#xff08;基于WinEdit&#xff09; 目录第一大步:下载被引用文章的bib引用第二大步:在论文论文添加引用信息第三大步&#xff1a;编译排版结果注意事项编写心得 目录 第一大步:下载被引用文章的bib引用 第二大步:在论文正文添加引用信息 第三大步…

text生成pdf之ctexwineditmiktexgbk2uni的安装使用方法

因为工作原因&#xff0c;需要将.tex文件转成pdf文档。于是进行了winedit及ctex文件安装&#xff0c;但发现走了一些弯路。为了避免再有同行走相同的弯路&#xff0c;于是我将相关的经验写下来&#xff0c;供大家参考。 一&#xff1a;误区 从www.winedt.com网站上下载winedt安…

Winedit 下载第三方库

在用 Winedit 编译 tex 文件时&#xff0c;出现如下错误&#xff1a; ! LaTeX Error: File threeparttable.sty not found. 出现该错误时&#xff0c;一般是我们的 Winedit 下的编译器缺乏相应的第三方库&#xff0c;此时只需要去网站上下载相应的库即可&#xff0c;这里推荐&a…

Winedit 找不到包错误解决方法

没错&#xff0c;我是一个Winedit初学者。但我有信心一天搞会他 这个问题感觉以后会很常见&#xff0c;害怕自己将来忘了&#xff0c;于是特此记忆。并给一起处于新手阶段的朋友们一个友好的解答。 首先从CTAN网站上下载这个包 simplewick 居然没有.sty文件&#xff0c;佛了。…

Winedit7.0自定义一键编译

因为每次编译论文都要按三个按键&#xff1a;LaTex->dvips->ps2pdf&#xff0c;所以自定义了一个快捷按钮&#xff0c;可以一键执行这三个操作。 1、 Winedit工具栏&#xff1a;Option → Option Interface → Menus and Toolbar 2、编写myclick.edt&#xff0c;内容如…

winEdit无法生成PDF解决方案

安装winEdit经过编译无法生成PDF文件并报错: pdflatex.exe:Bad parameter value pdflatex.exe:Data: font_mem_size 解决方案步骤&#xff1a; A:下载安装Tex live, 安装目录D:\texlive\2022 B:打开winEdt-->options-->cofigurations选择Tex live C&#xff1a;在w…

QQ音乐接口api,包括付费音乐、无损音乐、高品质音乐地址解析接口api

QQ音乐网站所有音乐&#xff08;包括付费、无损等版权音乐解析接口地址url&#xff09;。 mp3 普通高品 http://dl.stream.qqmusic.qq.com/M5000012gqVh4fFvVK.mp3?vkey419F0FD2E2552C95C4E76BFDFBF2BC331A2983AAEDC9CF91BBD4195603FE19B6550874248A1A87410D84D0405B2ABBD0F53…

酷狗音乐榜单歌曲获取解析教程

1.确定要爬取的音乐 就是这里的所有榜单&#xff08;我以其中一个榜单进行分析&#xff0c;因为逻辑都是一样的&#xff09; 2 .随机挑选一首歌曲点进去&#xff0c;查找歌曲地址 分析了好几个地址看不出来有什么规律&#xff0c;所以我就猜想这个地址是不是别的url返回的数…