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  = 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()类似

原文地址:https://www.cnblogs.com/517chen/p/11179572.html

时间: 2024-08-30 07:47:27

Skyline WEB端开发4——添加事件的相关文章

Skyline WEB端开发2——添加一个定位点、文本标签

Skyline 添加定位点 sgworld.Creator.CreatePosition CreatePosition( X, //兴趣点的东西方向坐标,即经度 Y, //兴趣点的南北方向坐标,即纬度 Altitude, //兴趣点的高程,即高度 AltitudeType, /* * 一个枚举值,定义了高程类型. * 0代表定位点在地面以上指定高度. * 1代表定位点在海平面的高度. * 2代表在地形表面创建定位点. * 3代表定位点在基于椭球基准面的地形数据库指定高度位置. * 4代表以一定高

Skyline Web 端数据浏览性能优化

三维数据的效率一直是个瓶颈,特别是在Web端浏览一直是个问题,在IE内存限制1G的条件下,对于三维数据动不动几十G的数据量,这1G显得多么微不足道.虽然现在三维平台都是分级加载,或者在程序中采用数据分不同片区加载来降低一次性加载的模型数据,但是在浏览器中浏览三维数据崩溃问题仍然一直存在.最近在维护一个老的Skyline的项目,客户提出了在看二维数据的同时也可以看三维数据,需求很简单,实现也很容易,唯一的问题是浏览效率,能不能浏览?浏览效率怎么样?而且政府单位的电脑配置都是很一般.毕竟也做了这么多

移动端开发用touch事件还是click事件

前端开发现在包含了跨浏览器,跨平台(不同操作系统)和跨设备(不同尺寸的设备)开发. 在移动开发的过程中,到底选取touch事件还是click事件?对了,请不要鄙视click,click在移动端开发用着也是不错的. 首先,我先说一下touch事件在开发中存在的两个问题: 1.touch事件在某些场景下存在点击穿透的问题. 2.touchstart事件时触摸屏幕就会触发,touchend事件是手指离开屏幕就会触发,而有时候,我们仅仅是只想滑动屏幕,却会触发这两个事件. 1问题的原因:移动端事件触发的

百度LBS地图的Web端开发实战

百度地图API以开放形式提供给开发者,完全免费,可以直接使用,无需商业授权. 这次教程我们主要讲解百度地图的地图展示.本地检索.逆/地理编码.覆盖物.城市列表等关键功能. 0.效果图展示 介绍一下: 点击地理位置的tab展示百度地图,如果店铺设置了地理位置,那么直接定位:否则,通过IP进行默认地址定位(这一点有待改善,我处在洛阳,但根据IP定位到了郑州). 通过城市列表和本地检索,可以直接定位到想要的地址,找到坐标后,会在地图上有一个红色位置的marker. 右键marker,可以进行ajax请

移动设备web端开发笔记

Bootstrap 3 一.采用Html5文档类型<!DOCTYPE html> <html> .... </html> 二.为了让 Bootstrap 开发的网站对移动设备友好,确保适当的绘制和触屏缩放,需要在网页的 head 之中添加 viewport meta 标签,如下所示: <meta name="viewport" content="width=device-width, initial-scale=1.0"&g

移动端WEB前端开发最佳实践

移动端WEB前端开发最佳实践 Safari,Android Browser,Chrome都是以WebKit为核心的 移动设备和PC之间的页面现实存在差异(Safari中定义了viewport) 在移动设备和桌面端WEB前端开发中,事件绑定存在差异(移动触点) 页面控件设计存差异(点触不灵敏,虚拟键盘弹出框) 移动设备的网络带宽普遍比PC慢,移动页面要设置更简洁 PC页面兼容移动设备 使用流式布局 借助CSS Media queries(媒体查询)技术 使用合适的图片显示兼容方案 保持页面简洁,不

IDEA 学习笔记之 Web项目开发

Web项目开发: 添加新模块: 起名: 添加jars: 添加Tomcat/local: 添加项目:  启动Tomcat: 看到web页面: 修改页面: 重新部署页面:

10-移动端开发教程-移动端事件

在前端的移动Web开发中,有一部分事件只在移动端产生,如触摸相关的事件.接下来给大家简单总结一下移动端的事件. 1. PC端事件在移动端的兼容问题 1.1 click事件的200~300ms延迟问题 由于移动端默认的布局视口宽度是980像素,所以网页文字非常小,为了快速让网页还原到原来的大小,Safari最新引入了双击缩放功能:用户双击手机页面的时候,浏览器会智能的缩放当前页面到原始大小. ?双击缩放的原理就是,当用户click一次之后,浏览器会经过约300ms之后检测是否再有一次click,如

使用 jQuery Mobile 与 HTML5 开发 Web App —— jQuery Mobile 页面事件与 deferred

在系列的上一篇文章<使用 jQuery Mobile 与 HTML5 开发 Web App —— jQuery Mobile 事件详解>中,Kayo 介绍了除页面事件外的其他 jQuery Mobile 事件,而页面事件由于事件数较多,并且涉及 jQuery 中一个比较复杂的对象 deferred ,因此在本文中单独说明.jQuery Mobile 页面事件使用分为页面加载事件 (Page load events),页面跳转事件 (Page change events),页面显示/隐藏事件 (