SuperMap-iClient-for-3D-快速入门

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

SuperMapiClientfor3D快速入门北京超图软件股份有限公司主要内容•开发流程•开发入门范例–打开场景–场景浏览–三维量算•程序发布部署声明:本课程中所述“Realspace”如无特殊说明均指SuperMapiClientfor3D产品;所述“iServer”如无特殊说明均指SuperMapiServer产品开发流程•准备三维场景数据•启动iServer服务,发布三维服务•开始开发–拷贝脚本库文件–界面框架设计–加载SceneControl和默认场景–加载场景scene或图层–…•系统在线发布开发入门—场景浏览•主要步骤–使用SuperMapiDesktop制作三维场景数据–使用iServer发布三维服务–使用Realspace客户端加载场景•范例:GettingStarted第一步:准备三维场景•采用SuperMapiDesktop配置一个三维场景第二步:使用iServer发布场景•启动iServer服务,进入服务管理,选择快速发布一个或一组服务。•选择发布的数据来源:选择配置好的工作空间文件,点击进入下一步。•选择发布的服务类型:如REST-Realspace服务,点击进入下一步。•完成其他必要设置后,点击完成。第二步:使用iServer发布场景•登录iServer服务管理器–浏览器地址栏中输入如下格式的地址:–或点击【开始】【程序】【SuperMap】【SuperMapiServerJava】【服务管理器】–在首次访问iserver时会先弹出设置密码的页面第二步:使用iServer发布场景•配置一个服务实例–选择发布的工作空间文件–选择发布的服务类型第二步:使用iServer发布场景•iServer服务的URI结构---REST服务访问格式–根资源/子资源/子资源/…••–IP:发布服务的服务器地址–PORT:发布服务的端口号–ServiceComponent:配置的服务组件名称–ServiceInterface:配置的REST服务接口名称–根资源&子资源:每一类REST服务都有一个根资源,如地图REST服务的根资源为maps,maps的子资源为map,map的子资源有layers等第三步:准备文件•新建文件夹“GettingStarted”•将lib_Ajax和lib_Realspace脚本库文件夹拷贝到GettingStarted文件夹•在GettingStarted文件中新建“Scripts”文件夹用于存放脚本文件•在Scripts下创建脚本文件“SuperMap.Include.js”和“GettingStarted.js”–“GettingStarted.js”文件实现具体的功能,“SuperMap.Include.js”文件是代码库引用文件列表。–两个js文件都保存为UTF-8格式。第四步:包含脚本库引用文件•在“SuperMap.Include.js”中添加以下代码:–或者直接拷贝这个文件使用function_IncludeScript(inc){varscript=''+'scripttype=text/javascriptsrc=lib_Realspace/'+inc+''+''+'/script';document.writeln(script);}function_Include2DScript(inc){varscript=''+'scripttype=text/javascriptsrc=lib_Ajax/'+inc+''+''+'/script';document.writeln(script);}if(!Function.__typeName){_Include2DScript('MicrosoftAjax.js');_Include2DScript('SuperMap.Web.js');_Include2DScript('SuperMap.Web.iServerJava6R.js');_IncludeScript('SuperMap.Web.Realspace.js');}第五步:添加脚本库引用和承载场景控件的DIV•创建名为“default.html”的主页面,添加如下代码:htmlheadmetahttp-equiv=Content-Typecontent=text/html;charset=utf-8/titleSuperMapiClientforRealspaceGettingStarted/title!--实现在该html中引用SuperMap.Include.js库文件--scripttype=text/javascriptsrc=Scripts/SuperMap.Include.js/script!--引用GettingStarted.js,系统具体功能在该脚本中实现--scripttype=text/javascriptsrc=Scripts/GettingStarted.js/script/headbodyonLoad=onPageLoad()divid=sceneControlDivstyle=position:relative;margin:0;padding:0;border:1pxsolidblack;z-index:1;left:0%;width:100%;top:1%;height:95%;visibility:visible;/div/body/html第六步:实例化场景控件•在“GettingStarted.js”文件中添加如下代码:varsceneControl=null;functiononPageLoad(){try{//获取html页面中名为sceneControlDiv的div对象作为场景控件sceneControl=newSuperMap.Web.UI.Controls.SceneControl($get(sceneControlDiv),initCallback,failedCallback);}catch(e){…}}第七步:获取并打开指定名称的场景varhtmlUrl=document.location.host;if(htmlUrl==){//判断网页的打开方式是本地打开还是通过网络打开htmlUrl=}else{htmlUrl=http://+htmlUrl;}varsceneUrl=htmlUrl+/iserver/services/components-rest/rest/realspace;//控件初始化完成后的回调函数,初始化完成后才能进行数据加载functioninitCallback(){//获取Realspace控件的场景,控件和场景是一对一关系scene=sceneControl.get_scene();scene.open(sceneUrl,scene);//打开名称为”scene”的场景}//控件初始化失败的回调函数functionfailedCallback(){alert(Realspaceinitializedfailed!);}•在“GettingStarted.js”文件中继续添加如下代码:第八步:运行调试,浏览场景•双击运行default.html,浏览场景第九步:增加场景浏览功能按钮•在default.html中继续添加如下代码:bodyonLoad=onPageLoad()divid=toolSetstyle=float:left:0%;top:1%;background-color:#B6D6EF;!--全幅显示--inputid=viewentiretype=buttonvalue=全幅显示onClick=viewEntire()/!--漫游--inputid=pantype=buttonvalue=漫游onClick=setPan()/!--选择--inputid=selecttype=buttonvalue=选择onClick=setSelect()/!--刷新--inputid=refreshtype=buttonvalue=刷新onClick=refresh()/inputtype=buttonname=fly3dvalue=飞行onclick=fly3d()/inputtype=buttonname=measureDisvalue=量算onclick=measureDis()//div/body第十步:增加场景漫游功能•在GettingStarted.js文件中继续添加如下代码:functionviewEntire(){scene.viewEntire();//全局显示整个三维场景}functionsetPan(){varpanAction=newSuperMap.Web.UI.Action3Ds.Pan(sceneControl);sceneControl.set_sceneAction(panAction);//场景平移}functionsetSelect(){varselectAction=newSuperMap.Web.UI.Action3Ds.Select(sceneControl);sceneControl.set_sceneAction(selectAction);//场景选择}functionrefresh(){scene.refresh();//刷新场景}第十一步:运行页面,浏览场景•双击运行default.html,就可以浏览到场景scene,并使用场景浏览功能打开、浏览场景回顾打开场景scene.open(serverURL,sceneName);获得场景服务名称scenecontrol.get_scene();或scenecontrol.get_sceneServicesList().get_item(0);初始化SceneControlnewSuperMap.Web.UI.Controls.SceneControl()三维飞行•支持任意给定线路的三维飞行•可导入预先设计好的线路,进行相关参数的设定(如飞行速度、飞行总时间、是否锁定方位角、是否锁定高程等)•沿着导入的线路自动飞行,在飞行过程中,还可实时改变各种参数•飞行到指定区域三维飞行•飞行操作对象FlyingOperator–主要用于设置场景的飞行状态,指定飞向下一个场景的方位、控制飞行方式以及飞行动画–可指定飞行速度、飞行高度、飞行时间、飞行方式等•飞行方式–沿线飞行、飞行到指定范围、飞行到指定对象、飞行至指定的相机位置三维飞行类接口和相关说明Camerascene.get_camera();//获取或设置当前场景的相机对象varVar=newSuperMap.Web.Realspace.Camera(dlongitude:number,dlatitude:number,daltitude:number);//使用经纬度和高度初始化Camera类的新实例FlyingOperatorflyTo(camera:Camera,nMillSec:number(Integer),flyingMode:FlyingMode)//在指定的时间内,以指定的

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功