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 = 1 MK_RBUTTON = 2 MK_SHIFT = 4 MK_CONTROL = 8 MK_MBUTTON =16 */ //X,鼠标的 X 坐标。坐标为屏幕坐标,三维窗口左上角为起始坐标 //Y,鼠标的 Y 坐标。坐标为屏幕坐标,三维窗口左上角为起始坐标
五、OnLButtonDblClk()
当用户双击鼠标左键时触发事件
与四、OnLButtonClicked()类似
六、OnLButtonDown()
当用户按下鼠标左键时触发事件
与四、OnLButtonClicked()类似
七、OnLButtonUp()
用户释放鼠标左键时触发事件
与四、OnLButtonClicked()类似
八、OnMButtonDblClk()
用户双击鼠标中键时触发事件
与四、OnLButtonClicked()类似
九、OnMButtonDown()
用户按下鼠标中键时触发事件
与四、OnLButtonClicked()类似
十、OnMButtonUp()
用户释放鼠标中键时触发事件
与四、OnLButtonClicked()类似