离线地图
为了节约流量,可以将某省市的离线地图下载到手机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。