SuperMap iMobile for iOS 三维入门开发教

2021-12-15  本文已影响0人  SuperMap技术控

 >作者:为梦齐舞

      伴随移动互联网的快速发展,移动客户端的使用数据量正在的逐步的逼近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

上一篇下一篇

猜你喜欢

热点阅读