SuperMap iMobile for iOS 三维入门开发教程(一)

作者:为梦齐舞

      伴随移动互联网的快速发展,移动客户端的使用数据量正在的逐步的逼近PC端,当移动端遇到三维GIS会绽放出如何的光彩? SuperMap iMobile for iOS是基于iOS智能终端系统的专业移动GIS开发平台,用于快速开发、定制面向行业领域和公众服务的移动GIS应用系统,功能囊括二维和三维,本文主要介绍三维的开发功能。
首先来看下显示的效果吧
精模数据效果:
这里写图片描述
倾斜摄影数据效果:
这里写图片描述
      如何才能开发出如上的效果呢?我们将本文的教程分为数据制作和程序开发两部分。
一、 数据制作
      本文将使用超图自带的MaSai倾斜摄影数据作为示范数据打开。
      1、 下载SuperMap iDesktop 8C 下载地址:http://support.supermap.com.cn/product/iDesktop.aspx
      2、 安装软件并打开示范数据.\SampleData\3D\OSGB\MaSai.smwu

这里写图片描述
      3、 选择倾斜摄影功能菜单下的压缩纹理选项,选择压缩类型为iOS系列设备,点击确定。
这里写图片描述
      4、 使用iDesktop重新配置一个工作空间,以上数据就配置完成了。这里只是配置了一个倾斜摄影的数据,如果需要使用其他数据,可以使用iDesktop配置。
这里写图片描述
二、 程序开发
      1、 下载SuperMap iMobile 8C for iOS,解压后双击pkg文件进行安装,如果遇到权限问题不能安装,可以设置安全性与隐私,设置允许被认可的开发者。
SuperMap iMobile 8C for iOS下载地址:http://support.supermap.com.cn/product/iMobile.aspx
      2、 安装完后,可以打开Xcode帮助,查看iMobile联机帮助
这里写图片描述
      3、 新建工程,按照联机帮助中的说明,进行工程的环境配置。
这里写图片描述
      4、 设置工程环境,开启iTunes文件共享,以方便后续传入示范数据。
这里写图片描述
      5、 设置开启多点触摸,否则无法操作三维球。
这里写图片描述
      6、 运行一次工程,然后打开iTunes,传入步骤一中制作的数据,以及许可,说明一点,如果不传入许可,可以打开三维球,但是不能打开数据。
试用许可申请地址:http://www.supermapol.com/web/pricing/triallicense
这里写图片描述
      7、 编写代码,打开数据。
点击ViewController.h文件,在其中添加以下代码:

#import <UIKit/UIKit.h>
#import <SuperMap/SuperMap.h>

@interface ViewController : UIViewController

{
    SceneControl *sceneControl;
    Workspace *workspace;
}
@property (strong, nonatomic) IBOutlet SceneControl *sceneControl;
@end 

点击ViewController.m文件,在其中添加以下代码:

#import "ViewController.h"

@interface ViewController ()

@end
@implementation ViewController
@synthesize sceneControl=sceneControl;
- (void)viewDidLoad 
{
    [super viewDidLoad];
    [sceneControl initSceneControl:self];
-(void)viewDidAppear:(BOOL)animated
{
    [self OpenOSGBdata];
}
-(void)OpenOSGBdata
{
    @try {
        
        if (workspace==nil) {
            workspace=[[Workspace alloc]init];
        }
       
        sceneControl.scene.workspace=workspace;
        NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *filePath=[[paths objectAtIndex:0] stringByAppendingPathComponent:@"masai.smwu"];
        WorkspaceConnectionInfo *wsinfo=[[WorkspaceConnectionInfo alloc]initWithFile:filePath];
        wsinfo.type=SM_SMWU;
        if ([workspace open:wsinfo])
        {
            NSString *name=[workspace.scenes get:0];
            [sceneControl.scene open:name];
        }
        
    } @catch (NSException *exception) {
        
    }
    
    
}

8、 重新编译程序,运行结果如下图所示。
这里写图片描述

PS:源码下载地址:链接:http://pan.baidu.com/s/1i5oju3z 密码:bkc0

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
引用\[1\]和\[2\]提供了关于SuperMap三维数据制作和加载方面的信息。根据引用\[1\],SuperMap iServer可以将矢量数据添加到地图中,并通过发布为地图服务或地图瓦片的方式在前端进行加载。对于三维数据,可以使用引用\[2\]中提到的两种方式进行制作和加载。第一种方式是将三维数据转换为三维瓦片,然后生成缓存并进行面拉伸,最后发布为三维服务。第二种方式是通过规则建模和线型拉伸将三维数据拉伸为模型数据集,然后切缓存并发布为三维服务。在前端加载时,可以使用引用\[2\]中提供的代码进行加载。 另外,根据引用\[3\],SuperMap还支持将矢量数据切成矢量瓦片,并通过SuperMap iServer发布为矢量瓦片服务。在前端加载时,可以使用引用\[3\]中提供的代码进行加载。 综上所述,SuperMap提供了多种方式来制作和加载三维数据以及矢量数据。具体选择哪种方式取决于数据的类型和需求。 #### 引用[.reference_title] - *1* *2* *3* [SuperMap GIS 三维方向矢量数据处理详解](https://blog.csdn.net/weixin_45486229/article/details/127960324)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值