>作者:为梦齐舞
伴随移动互联网的快速发展,移动客户端的使用数据量正在的逐步的逼近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
网友评论