离线地图
为了节约流量,可以将某省市的离线地图下载到手机SD卡中,在没有网络连接的情况下也能自由使用地图服务。
目录为应用初始化设置的位置例如:
// mAppPath:存放离线地图的位置
String mAppPath = Environment.getExternalStorageDirectory().getPath()+"/navinfo/app";
NativeEnvParams params = new NativeEnvParams(mAppPath, appName, mDensityDpi, key, this);
NativeEnv.init(getApplicationContext(), params);
【Navinfo Navigation SDK for Android】地图的离线数据是在无网络下的数据应用,为用户带来流量的节省,降低使用成本。对离线数据商店进行了封装,实现了自动加载离线列表,数据下载,断点下载,升级更新,删除等功能。
示例如下:
// 初始化数据,添加数据加载回调
OfflineDataStoreManager.getInstance().initData(this);
// 数据加载回调
@Override
public void onDataSuccess(DatastoreItem[] datastoreItems) {
// 数据加载成功
progressBar.setVisibility(View.GONE);
this.datastoreItems = datastoreItems;
if (datastoreItems != null) {
// 设置listView数据源
DownloadAdapter downloadAdapter = new DownloadAdapter(this, datastoreItems);
mListView.setAdapter(downloadAdapter);
}
}
@Override
public void onDataFailure() {
// 数据加载失败
progressBar.setVisibility(View.GONE);
Toast.makeText(this, "refresh faile", Toast.LENGTH_SHORT).show();
}
@Override
public void onDataCancle() {
// 数据加载取消
progressBar.setVisibility(View.GONE);
Toast.makeText(this, "refresh cancel", Toast.LENGTH_SHORT).show();
}
注:离线数据功能实现代码参考SDK Demo。
