离线地图
Fengmap Android SDK提供加载离线地图,离线地图的缓存位置可在FMMapSDK初始化时设置,也可以放置在sdcard中任一位置,如果是Android10需要适配,在清单文件中添加android:requestLegacyExternalStorage="true";建议使用SDK设置缓存目录。可参考代码设置:
设置缓存目录
//设置数据缓存路径,若不设置SDK默认路径为sdcard/Android/data/包名/files/FengMap文件夹
String cacheDir = Environment.getExternalStorageDirectory().getAbsolutePath()
+ File.separator + "xxx" + File.separator;
FMMapSDK.init(getApplication(), cacheDir);
地图下载
私有地图数据下载
打开并登陆蜂鸟云网站,从我的地图列表下载私有地图数据:
下载相应的私有地图数据到本地:
解压下载的文件,得到一个相应地图id名称的文件夹,文件夹内包括fengmap数据和相应的主题资源压缩包(注意:fengmap数据ID禁止修改),解压主题资源压缩包:
公共地图数据下载
打开蜂鸟云主页,在资源目录下可自由下载公共地图数据。地图文件格式为 地图ID.fmap
地图及主题导入
将下载并解压得到的地图数据和主题资源复制至工程assets目录下:
程序执行时,复制地图文件assets/mapId.fmap至缓存目录,复制解压主题文件assets/themeId.zip至缓存目录:
地图数据加载
设置离线地图数据路径,加载地图。参考代码如下:
// 离线加载地图数据,路径为地图文件所在sdcard的绝对位置
String path = FMMapSDK.getCacheDirectory() + "/map/10347/10347.fmap";
map.openMapByPath(path);
//map.openMapByOffline(mapId);
地图主题加载
设置离线地图主题路径,加载地图主题。参考代码如下:
// 离线加载地图主题,路径为地图主题所在sdcard的绝对位置
String path =FMMapSDK.getCacheDirectory() + "/theme/10347/10347.theme";
map.loadThemeByPath(path);