Skyline WEB端开发4——添加事件

skyline中有很多自带的事件可以进行调用,今天给大家介绍几种常用的事件

一、Open() 

打开指定工程

//初始化加载TerraExplorer工程$(window).load(function() { try { var flyPath = "C:\\Users\\admin\\Desktop\\SkyglobeLB.fly"; sgworld.AttachEvent("OnLoadFinished", OnProjectLoadFinished); sgworld.Project.Open(flyPath); } catch(ex) { addLog(ex.message); }});

二、OnProjectLoadFinished()

在我们执行SGWorld的Open方法,加载完成一个FLY工程后,就会触发这个事件。

也就是说,我们通过这个事件可以判断在什么时间完成了FLY工程的加载,然后,我们就可以在这个事件函数里说上一句“Hello World!”或者,再去执行一些其他操作,比如飞到某个地点,开启或者关闭某些图层等等。

//加载事件function OnProjectLoadFinished(){ //默认飞到某一个位置 var Washington = sgworld.Creator.CreatePosition( 116.3912630081, 39.9074812817, 1000, 0, 0.0, // 偏航角 -43.0); // 俯仰角 sgworld.Navigate.FlyTo(Washington);
  alert("Hello World!");}

 三、OnFrame()

帧被渲染前发送事件,允许客户端以帧运动方式执行操作(例如,移动地面对象)。每一帧移动都会触发该方法。

//添加事件sgworld.AttachEvent("OnFrame",OnFrame);//进行调用function OnFrame() { if(lable != null) { lable.Position = lable.Position.Move(100, -90, $("#pitch").val()); }}

四、OnLButtonClicked()

当用户点击鼠标左键时触发

//注册鼠标左键点击事件sgworld.AttachEvent("OnLButtonClicked", OnLButtonClicked);//鼠标左键点击事件function OnLButtonClicked(Flags, X, Y) { alert(Flags + "===" + X + "===" + Y);}//Flags, 定义各种组合键被按下, /*MK_LBUTTON = 1MK_RBUTTON = 2MK_SHIFT = 4MK_CONTROL = 8MK_MBUTTON =16*///X,鼠标的 X 坐标。坐标为屏幕坐标,三维窗口左上角为起始坐标//Y,鼠标的 Y 坐标。坐标为屏幕坐标,三维窗口左上角为起始坐标

五、OnLButtonDblClk()

当用户双击鼠标左键时触发事件

四、OnLButtonClicked()类似

 

六、OnLButtonDown()

当用户按下鼠标左键时触发事件

四、OnLButtonClicked()类似

 

七、OnLButtonUp()

用户释放鼠标左键时触发事件

四、OnLButtonClicked()类似

 

八、OnMButtonDblClk()

用户双击鼠标中键时触发事件

四、OnLButtonClicked()类似

 

九、OnMButtonDown()

用户按下鼠标中键时触发事件

四、OnLButtonClicked()类似

 

十、OnMButtonUp()

用户释放鼠标中键时触发事件

四、OnLButtonClicked()类似

 

相关文章