SuperMap iMobile for iOS 8C三维应用实例

  1. 使用流程
    iOS移动端展示三维场景,有在线和离线两种方式:在线方式是通过连接iServer发布的Realspace服务获得数据,离线方式则是直接打开缓存工作空间,应用流程如下:
    SuperMap iMobile for iOS 8C三维应用实例
  2. 制作场景缓存
    2.1 新建场景
    SuperMap iMobile for iOS 8C三维应用实例
    2.2 添加图层
    场景中可以添加各种类型的图层,包括简单的矢量点、线、面数据集,CAD模型数据集,缓存数据,KML图层等。
    更多三维场景相关操作,可参考资源中心“培训课堂”中的“三维专题****”。
    SuperMap iMobile for iOS 8C三维应用实例

2.3 保存场景
保存场景时,场景名称最好为英文,不要包括特殊字符,比如@,#。
SuperMap iMobile for iOS 8C三维应用实例
2.4 生成场景缓存
单击场景节点的右键菜单“生成场景缓存”,是对整个场景生成缓存,在目标文件夹下会生成一个新的工作空间,推荐使用这种方式。
SuperMap iMobile for iOS 8C三维应用实例
生成场景缓存时,一定要注意缓存用途选择“iOS系列设备”,否则生成的缓存用iServer发布出来后, iOS移动端无法显示。
这是由于iOS系列设备的显示机制与PC机的显示机制不同,需要特别区分。
注:生成针对iOS设备的场景缓存需要一些时间,请耐心等待。
SuperMap iMobile for iOS 8C三维应用实例
2.5 缓存结果
SuperMap iMobile for iOS 8C三维应用实例
3. 离线场景缓存
iMobile for iOS 7C可以直接加载离线三维缓存数据,加载离线三维缓存需要有数据模块和三维模块的许可,否则会打开失败。调用的关键接口是Scene的open方法。
3.1 新建工程
新建基于三维工程模板的工程,工程名称OfflineScene,模板工程已经完成了相关的设置。
注:iMobile for iOS安装完成后,会将工程模板嵌入到了Xcode环境中,新建工程时可选择SuperMap模板。
SuperMap iMobile for iOS 8C三维应用实例
3.2 编写代码
离线方式,代码中需要先打开工作空间,再打开场景。iMobile for iOS三维模块,要求场景图层的数据都来源于三维缓存。
ViewController.h中,增加工作空间的定义
SuperMap iMobile for iOS 8C三维应用实例
在ViewController.m文件,通过打开工作空间,再打开场景。
注:此处用的是生成缓存后的工作空间及缓存数据。iMobile for iOS的三维场景只支持缓存数据,暂不支持存储于UDB数据源中数据集。
SuperMap iMobile for iOS 8C三维应用实例
3.3 拷贝数据及许可
运行工程,将需要用到的数据和许可文件导入到iOS设备上OfflineScene应用的Document中。
SuperMap iMobile for iOS 8C三维应用实例
3.4 运行效果
SuperMap iMobile for iOS 8C三维应用实例