如何使用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;
}

}
});

时间: 2024-10-03 00:46:18

如何使用android百度地图离线地图的相关文章

android 百度地图系列之地图初始化及定位

在Android应用中,很多时候需要地图功能,回顾过去写的项目和百度地图api,开始总结一下Android百度地图的实现.首先总结一下怎么开始一个Android百度地图功能. 当使用百度地图的时候,提到一个appkey."在使用百度地图SDK为您提供的各种LBS能力之前,您需要获取百度地图移动版的开发密钥,该密钥与您的百度账户相关联.因此,您必须先有百度帐户,才能获得开发密钥.并且,该密钥与您创建的过程名称有关.Key地址为:http://lbsyun.baidu.com/apiconsole/

百度谷歌离线地图解决方案(离线地图下载)

离线地图解决方案,除了买地图数据,使用专业的ArcGIS来做外,也可以使用GMap.Net来做. 关于GMap的开发教程,可以看我以前的文章:基于GMap.Net的地图解决方案 使用了GMap一年了,也有了一些积累,开发了一个可以下载百度.谷歌.高德.腾讯SOSO的地图下载器,各个地图加载显示如下: 百度普通地图: 百度混合地图: 谷歌普通地图: 谷歌混合地图: 从目前的情况来看,百度的普通的地图数据是更新最快的,但是有些小地方没有卫星地图,而谷歌几乎所有的地方都有卫星地图,但是谷歌中国的地图更

C++ 写的地图控件,支持google 百度 在线离线地图

C++处理google  百度地图在网上查阅了很多都是通过浏览器方式显示地图信息, 跟我目前项目很不符合, 所以仔细研究了一下C++方式显示地图.通过地图投影以及墨卡托投影,在通过平面地图计算经纬度. 最终今天终于搞定的初步功能,鼠标移动位置显示经纬度.切换Zoom  选择地图信息. 再也不用为C++调用浏览器控件不方便等因素发愁了. 每天进步一点点. 放上部分代码: //墨卡托坐标转像素坐标void MercatorToPixel(DOUBLE pdX, DOUBLE pdY, int piZ

模仿百度地图的LBS服务——离线地图篇 Part 2 (v 3.1.1)

一.前言 转载请标明出处:http://blog.csdn.net/wlwlwlwl015/article/details/41492031 这一篇blog写的真心不容易,我只想说我这种菜鸟去高仿百度地图去做LBS服务真心有点作死,期间本想放弃,做简单点算了,但不能说服自己.最后通过F6去一行一行的debug(新手朋友注意这是最好的解决问题的方式没有之一),最后成功完成了核心的功能.上一篇blog高仿了百度地图离线地图模块中的"城市列表"部分(模仿百度地图的LBS服务--离线地图篇 P

Android 百度地图 SDK v3.0.0 (四) 引入离线地图功能

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37758097 一直觉得地图应用支持离线地图很重要啊,我等移动2G屌丝,流量不易,且用且珍惜. 对于官方开发指南对于离线地图的教程,提供了两种方案: 第一,手动导入,先将从官网下载的离线包解压,把vmp文件夹拷入SD卡根目录下的BaiduMapSDK文件夹内.好吧,我表示不能接受,无视了. 第二,接口下载方法如下:mOffline.start(cityid);还比较靠谱,就是没详

Android 百度地图 SDK v3_3_0 (三) ---离线地图

转发请标明出处:http://blog.csdn.net/tanzuai/article/details/43793455 本篇博客要实现的功能 先上效果图: 下面我们来介绍怎么一一实现 1.功能介绍 对于官方开发指南对于离线地图的教程,提供了两种方案: 第一,手动导入,先将从官网下载的离线包解压,把vmp文件夹拷入SD卡根目录下的BaiduMapSDK文件夹内. 第二,接口下载方法如下:mOffline.start(cityid);还比较靠谱,我相信这是大家最喜欢的. 2.百度地图离线相关AP

Android 百度地图 SDK v3.0.0 (四) 离线地图功能介绍

转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/37758097 一直认为地图应用支持离线地图非常重要啊.我等移动2G屌丝,流量不易.且用且珍惜. 对于官方开发指南对于离线地图的教程,提供了两种方案: 第一.手动导入,先将从官网下载的离线包解压,把vmp目录拷入SD卡根目录下的BaiduMapSDK目录内. 好吧,我表示不能接受,无视了. 第二,接口下载方法例如以下:mOffline.start(cityid);还比較靠谱,就是

Android 百度地图sdk3.2下 离线地图包的导入

前段时间用百度地图,在使用离线地图包导入的时候发现一个问题,从百度官网下载的离线包无法导入,但是用百度地图的demo可以下载离线包使用,当时对方式没什么要求,能用就行,就用他们demo下载离线包,最近对方式有要求了,必须得使用离线包的方式 然后用百度地图的demo都无法导入,然后去网上一查,呵呵,各种同道中人在饱受折磨,经过仔细观察,发现了一些门道,希望能帮助你们 首先,百度离线地图包下载完,在BaiduMap下vmp下有个文件夹,这要注意了这是以一个字母命名的,h或者l,问题就出现在这两个命名

Android 百度地图 SDK v3.0.0 (一)

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37729091 最近公司要把百度地图集成的项目中,于是我就研究了一天百度地图的SDK,当前的版本:Android SDK v3.0.0 . 虽然百度地图网上相关代码比较多,大多可能都是比较旧的版本,且百度地图API的改动感觉也比较大,所以再此跟大家分享一下一天的劳动成功. 下面简单展示下,博客中会介绍的功能: 1.功能介绍 a.首先肯定是导入地图,然后就是地图模式的一些切换,普通