Skyline Web 二次开发- 1.地图显示、Position、AttachEvent
2019独角兽企业重金招聘Python工程师标准>>>
Skyline地图数据加载方法,这个是最基础的操作步骤,然后再进行拓展,通过API文档可以查询到所有Js的方法引用说明。
注意事项
在Skyline Web Js 二次开发中,凡是TerraExplorer里面的功能在API中都有对应的方法,可以根据TE里面的菜单名称找到对应的方法(如:Navigate菜单下的所有功能对应API中Navigate下的所有方法),可以方便快捷的进行二次开发,有些功能方法藏的比较深,需要自行理解和发掘。
需求分解
- 加载工程文件
- 添加事件信息
- 创建坐标点位
- 飞行到坐标点
- 每次移动屏幕相机画面,获取坐标点信息,并显示在消息栏中
方法说明
- SGWorld66.AttachEvent(bstrEventName,DispFunc);
- 添加事件,这里值得一提,Skyline的API文档实在是太烂了,因为在说明里,并没有明确指出具体事件的名称,其实它所指的事件名称就在API文档ISGWorld的列表里面,On打头的都是可使用的事件QAQ。
- SGWorld66.Project.Open();
- 打开工程文件
- SGWorld66.Creator.CreatePosition(X,Y,Altitude,AltitudeType,Yaw,Pitch,Roll,Distance);
- 创建坐标点,X和Y表示坐标值,Altitude为点位的高度值的可选参数,AltitudeType为高度类型的可选参数,Yaw为偏航(即左右旋转度数,范围0-360度,0为北,90为东,180为南,270为西),Pitch为俯仰角度(0为水平面,+90度为仰视最大角度,-90度为俯视最大角度,测试时建议先用俯视角度进行测试比较容易确定具体点位),Roll为翻滚(没用过。),Distance为距离(即离目标点位的距离,这个参数建议最好设置从50开始,否则从原点0进行测试,你会发现视角严重偏离),一般来说设置X,Y,Alititude这3个参数,即可显示出效果,其余的参数用于图片覆盖旋转角度、设置飞行路径等会用到,需要不断尝试
- SGWorld66.Navigate.FlyTo(target,Pattern);
- 飞行到目标位置,target有4种类型(1.对象ID字符串 2.对象ITerraExplorerObject66 3.工程目录树中的GroupID值ProjectTree GroupID 4.坐标点对象IPosition66 object);Pattern为可选参数,即飞行方式,详见API
- SGWorld66.Navigate.GetPosition(AltitudeType);
- 获取导航位置,AltitudeType类型为可选参数,详见API;返回值类型为IPosition66,坐标类型对象,对象属性值详见API
- SGWorld66.Window.ShowMessageBarText(Text,Alignment,Timeout);
- 在消息显示栏中显示信息,Text为文本信息,Alignment为显示的位置的可选参数(0-左 1-中 2-右),Timeout为显示时间的可选参数
Jsp源码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><html><script type="text/javascript" >/*** 初始化*/function Init() {try {var flyPath = "http://192.168.1.224:8090/default0505.fly";//添加onloadFinished事件SGWorld66.AttachEvent("OnLoadFinished", OnProjectLoadFinished);//打开工程SGWorld66.Project.Open(flyPath);} catch (e) {alert("Error: " + e.description);}}/***onloadFinished事件方法*/function OnProjectLoadFinished() {//创建位置var China = SGWorld66.Creator.CreatePosition(116.38752366300,39.99765237460,15000,0,352,-90);//相机定位到声明的位置SGWorld66.Navigate.FlyTo(China);}/***鼠标移动事件*/function OnMouseMoved(){//获取相机当前位置信息var current = SGWorld66.Navigate.GetPosition();//在消息栏显示出相机相关信息SGWorld66.Window.ShowMessageBarText("X:" + current.X +" Y:" + current.Y + " Z:" + current.Altitude + " Yaw:" + current.Yaw);}</script><body onload = "Init();"><!--定义一个TerraExplorer 3D窗口对象--><object id="TE" classid="clsid:3a4f9192-65a8-11d5-85c1-0001023952c1" onmousemove="OnMouseMoved()" style="width: 80%;height: 100%"></object><!--定义TerraExplorer对象SGWorld65--><object id="SGWorld66" classid="CLSID:3A4F9199-65A8-11D5-85C1-0001023952C1" style="visibility:hidden;height:0 "></object><!--定义一个TerraExplorer 信息窗口对象--><object id="TEInformationWindow" classid="CLSID:3a4f9193-65a8-11d5-85c1-0001023952c1" width="15%" height="100%"></object></div></body></html>
转载于:https://my.oschina.net/discussjava/blog/896816
Skyline Web 二次开发- 1.地图显示、Position、AttachEvent相关推荐
- 海康大华天地伟业网络摄像头chrome浏览器web二次开发
海康大华天地伟业网络摄像头chrome浏览器二次开发 海康大华天地伟业网络摄像头chrome浏览器web二次开发 由于工作的原因需要开发海康和大华,还有天地伟业的摄像头,而且必须是本地部署开发,每个厂 ...
- 海康威视摄像头web二次开发(angular)
海康威视官网有提供二次开发的web开发包,主要由js,html组成,但是开发包更新迭代太快了,甲方的摄像头还是老版本,幸好甲方提供了它们的开发包(内涵demo,doc). 测试环境 在web包里面里面 ...
- 高德地图web 二次开发
初始化 map = new AMap.Map("mapContainer", {resizeEnable: true,zoom: 10,//city:$('#input_addre ...
- ABB机器人二次开发:使用Web网页读取机器人系统信息的操作方法
本文已经首发在个人微信公众号:工业机器人仿真与编程(微信号:IndRobSim),欢迎关注! 概述 对于ABB机器人进行远程监控,除了使用PC SDK二次开发后生成远程监控程序以外,还可以使用ABB机 ...
- Skyline 7 版本TerraExplorer Pro二次开发快速入门
要想熟练掌握Skyline软件的二次开发,首先需要真正了解Skyline系列软件的整体架构,以及每个产品模块的运行的内部机制,尤其是TerraExplorer Pro软件的具体功能和使用技巧. 如果你 ...
- 最详细的【微信小程序+阿里云Web服务】开发部署指引(十二):开发小程序用户反馈功能
文章目录 前言 一.功能说明 二.代码实现 1.创建界面Page 2.WXML 3.JS 4.WXSS 专题文章链接 前言 案例的运行效果,可以扫码观看: 本篇文章,我们将实现应用的用户反馈功能. 一 ...
- 二次开发photoshop_Photoshop 101:Web开发人员简介
二次开发photoshop 介绍 (Introduction) Often, when working as web developer, we need to integrate templates ...
- 用WEB技术栈开发NATIVE应用(二):WEEX 前端SDK原理详解
摘要: WEEX依旧采取传统的web开发技术栈进行开发,同时app在终端的运行体验不输native app.其同时解决了开发效率.发版速度以及用户体验三个核心问题.那么WEEX是如何实现的?目前WEE ...
- 大华摄像头二次开发-web端实现实时视频监控
最近客户提需要,需要在现有的系统中集成视频监控功能,摄像头是大华的.而大华又没有关于java的sdk,官网只能下载到c++的demo和dll文件.无奈只能自己在网上找了,最后找到了一些解决办法,把实现 ...
- 基于SPSS二次开发的Web SPSS系统
在以前关于SPSS二次开发文章中留下过自己联系方式,差不多一年的时间,零零散散的和我取得联系的人也有几十位,看来对于SPSS二次开发的需求不少. Web SPSS系统是利用SPSS二次开发技术,使用户 ...
最新文章
- android layout background,Android LinearLayout Gradient Background
- ESP8266开发笔记
- c语言中的两个百分号什么意思,百分号的用法,特别是在两个量词之间的用法,例如50%—70%和50—70%...-百分号-语文-彭都宰同学...
- 批量找注入 python3+sqlmap结合
- assert函数的作用
- VS2019 产品密钥
- python解压并另存 .bz2文件的方法
- 鸿蒙蕴含的哲理,苏轼最不该被忽视哲理名句:“人生到处知何似,应似飞鸿踏雪泥”...
- 如何使用Win10原生的截图工具Snipping Tool?
- oracle蓝屏解决方法,win10系统蓝屏怎么办 蓝屏代码0x000007e的3种解决方法
- 电学计算机专业英语,电器电子英语词汇(O)
- 在线将PDF极速转换为图片
- php支付宝封装类,android封装支付宝支付
- c语言求正方体的表面积和体积,2.事先编写一个程序,计算正方体、球体和圆柱体的表面积和体积。(提示:声明一个抽象基类 container,派...
- 基于springboot的员工管理系统整合Mybatis操作
- 计算机一级空了一个大题,计算机一级填选空择题及答案.doc
- (单纯性和L1 ball)投影梯度法
- SAP FICO全解析之-定义国家代码
- lepus 监控mysql_Lepus(天兔)监控MySQL部署
- 天津计算机比赛,国际传媒学院学生在“‘中科曙光’杯第六届中国大学生计算机设计大赛天津市级赛”中屡创佳绩...
热门文章
- [BZOJ1009]GT考试
- sap快捷搜索菜单栏
- The Python Challenge 闯关笔记
- springmvc的运行原理个人见解
- STM32串口通信(使用C8T6)
- CSS3知识点总结---transitionend
- 最近学到一些linq和面向对象的经验分享
- sharepoint安装心得-.net与sharepoint安装 sharepoint安装心得_过程(一)
- 如何 给给软件开发 添加 代理_如何从“菜鸟码农”变成“一线架构师”?
- 剖析Disruptor:为什么会这么快?(一)Ringbuffer的特别之处