SuperMap iMobile 8C(2017) for Android 离线数据使用说明

目 录

制作数据 3

1.1 地图缓存数据制作 3

1.2 地图缓存生成结果 5

使用数据 6

2.1 以服务方式打开缓存文件 6

2.1.1 第一步:配置缓存数据的格式 6

2.1.2 第二步:加载数据 6

2.2 以影像插件的方式打开缓存文件 8

制作数据

本文主要介绍地图缓存数据制作,以及以服务和影像插件两种方式使用缓存数据。制作数据使用的桌面软件是SuperMap
iDesktop 8C(2017)。

地图缓存数据制作

第一步:双击打开地图。

第二步:单击“地图”选项卡“操作”组中的“地图缓存”按钮。打开“生成地图缓存”对话框,设置生成地图缓存的相关参数。(8C(2017)以下版本“地图缓存”按钮,在“开始”选项卡“缓存”组中)

第三步:设置比例尺。应用程序会默认提供一组比例尺,如果不想使用默认的,可以重新输入。

第四步:设置基本参数。版本号为5.0,剖分方式为本地剖分,设置缓存名称和缓存路径。

SuperMap iMobile 8C(2017) for Android 离线数据使用说明_第1张图片

第五步:设置范围参数。缓存范围和索引范围使用默认的整幅地图的范围 。

SuperMap iMobile 8C(2017) for Android 离线数据使用说明_第2张图片

第六步:设置图片存储参数。图片类型为
JPG,离散数据的存储类型为“原始”,紧凑数据的存储类型为“紧凑”,推荐使用紧凑型的数据,块大小为512*512像素。

SuperMap iMobile 8C(2017) for Android 离线数据使用说明_第3张图片

第七步:点击“生成”按钮,等待数据生成。生成结束后,输出窗口中会有提示内容。

地图缓存生成结果

缓存生成完成后,第一级文件夹中,包含数据文件夹和sci文件,如下图所示:

这里写图片描述

第二级文件夹中,包含以设置的比例尺命名的文件夹以及一个inf文件,如下图所示:

SuperMap iMobile 8C(2017) for Android 离线数据使用说明_第4张图片

使用数据

以服务方式打开缓存数据

以服务方式打开缓存文件,访问速度快,是推荐的使用方式。使用时需要先配置数据。

第一步:配置数据

  • 编辑文件

打开sci文件,替换provider部分为sml:Provider>http://192.168.120.139:8090/iserver/services/map-changchun/rest/maps/changchun/ sml:Provider>

替换前:

SuperMap iMobile 8C(2017) for Android 离线数据使用说明_第5张图片

替换后:

SuperMap iMobile 8C(2017) for Android 离线数据使用说明_第6张图片

路径“http://192.168.120.139:8090/iserver/services/map-changchun/rest/maps/changchun”

“192.168.120.139:8090”、“changchun”的值可自己设定,但必须与自己的文件夹的目录结构相对应;

“map-changchun”中,“map-”是必须的,“changchun”可以自己设定,如“map-nanjing”,并且也要与自己的文件夹目录结构相对应;

此外的其它的值不能修改。

  • 存储数据

将生成的缓存数据拷贝到设备中,路径为“…\SuperMap\data\Rest\192.168.120.139_8090\map-changchun\changchun”。此处注意“192.168.120.139_8090”中是下划线代替了冒号,由于文件名不能用英文的冒号,特作此修改。目录结构如下图所示:

SuperMap iMobile 8C(2017) for Android 离线数据使用说明_第7张图片
SuperMap iMobile 8C(2017) for Android 离线数据使用说明_第8张图片

第二步:加载数据

以服务的方式打开缓存文件,只需要设置数据的地址以及数据类型(Rest)。关键代码如下:

m_workSpace = new Workspace();

//将地图显示控件和工作空间关联

m_mapView = (MapView)findViewById(R.id.Map_view);

m_mapControl = m_mapView.getMapControl();

m_mapControl.getMap().setWorkspace(m_workSpace);

//缓存数据路径

String server =
"http://192.168.120.139:8090/iserver/services/map-changchun/rest/maps/changchun";

DatasourceConnectionInfo info = new DatasourceConnectionInfo();

//设置Server

info.setServer(server);

//设置数据源连接的引擎类型为REST
地图服务引擎类型info.setEngineType(EngineType.Rest);

//获取数据源集合

Datasources datasources = m_workSpace.getDatasources();

//打开数据源

Datasource ds = datasources.open(info);

//添加到地图窗口中
m_mapControl.getMap().getLayers().add(ds.getDatasets().get(0),true);

//全幅显示

m_mapControl.getMap().viewEntire();

以影像插件的方式打开缓存数据

以影像插件的方式打开缓存文件,需要设置数据的路径以及数据类型(IMAGEPLUGINS)。关键代码如下:

m_workSpace = new Workspace();

//将地图显示控件和工作空间关联

m_mapView = (MapView)findViewById(R.id.Map_view);

m_mapControl = m_mapView.getMapControl();

m_mapControl.getMap().setWorkspace(m_workSpace);

//缓存数据路径

String server = sdcard + "/SampleData/changchun/changchun.sci";

DatasourceConnectionInfo info = **new** DatasourceConnectionInfo();

//设置Server

info.setServer(server);

//设置数据源连接的引擎类型为影像只读引擎类型

info.setEngineType(EngineType.IMAGEPLUGINS);

//获取数据源集合

Datasources datasources = m_workSpace.getDatasources();

//打开数据源

Datasource ds = datasources.open(info);

//添加到地图窗口中
m_mapControl.getMap().getLayers().add(ds.getDatasets().get(0),true);

//全幅显示

m_mapControl.getMap().viewEntire();

你可能感兴趣的:(移动GIS)