Skyline WEB端开发2——添加一个定位点、文本标签
Skyline 添加定位点
sgworld.Creator.CreatePosition
CreatePosition(
X, //兴趣点的东西方向坐标,即经度
Y, //兴趣点的南北方向坐标,即纬度
Altitude, //兴趣点的高程,即高度
AltitudeType, /*
* 一个枚举值,定义了高程类型。
* 0代表定位点在地面以上指定高度。
* 1代表定位点在海平面的高度。
* 2代表在地形表面创建定位点。
* 3代表定位点在基于椭球基准面的地形数据库指定高度位置。
* 4代表以一定高度创建在 3DML 之上
* 注:1 和 2 的值应用于二维的形状和多边形。4 只适用于图片和文本标签。
* */
Yaw, //视点和兴趣点的偏移角度。范围 0°到 360°,0=北,90=东,180=南,270=西
Pitch, //视点和兴趣点的俯仰角度。范围-90°到+90°,0=水平,+90=自下到上垂直,-90=自上到下垂直。
Roll, //视点和兴趣点的翻滚角度。范围-90°到+90°,0=水平,+90=完全向右翻滚,-90=完全向左翻滚。
Distance //距离点坐标(X,Y,height)的距离,点必须在视线范围内。
);
Skyline 添加文本标签
sgworld.Creator.CreateLabel
CreateLabel(
Position, //表示点的位置和方向
Text, //需要显示的文本
ImageFileName, //显示在标签中的图像文件的完整路径或 URL。如果给参数传递 Null 则只创建文本标签。
LabelStyle, /* 标签样式(例如,颜色,字体和可视距离属性)
* Bold 如果这个参数设置为 TRUE,字体样式设置为粗体。
* FontName 字体的名称。
* FontSize 以像素为单位的字体大小。文本的大小尺寸范围从 8 至 72。
* FrameFileName 一个全路径名或一个框架文件的 URL,为标签边界使用的文件。
* Italic 如果这个参数设置为 TRUE,字体样式设置为斜体。
* Underline 如果是 TRUE,字体样式设置下划线。
* LimitScreenSize 如果这个参数设置为 TRUE,当摄像机靠近的时候,标签保持其原始大小。
* LineToGround 如果这个参数设置为 true,一条线从支点向下延伸。
* LockMode 该文本标签的位置参数,自动调整面对镜头并确定被锁定的位置组字段值。
* MaxImageSize 图像的最大尺寸。
* MaxViewingHeight 确定该标签可见的最大高度。
* MinViewingHeight 确定的最低可见高度。飞行时比该值低,标签消失。
* MultilineJustification 如果有多行文本,此选项决定文本对齐方式。可以有以下值之一:"left","rihgt"或"center"。(默认:"center")。
* PivotAlignment 决定了标签相对于其支点对齐:Top, Left; Top, Center; Top, Right; Center, Left; Center, Center; Center, Right; Bottom, Left; Bottom, Center; Bottom, Right。
* Scale 标签在每个像素的尺寸,最大字符高度为文字大小的倍数值。
* ShowTextBehavior 确定的标签中包含的文字图像和文字能否始终显示或当鼠标光标悬停在标签上面才会显示。0代表始终显示标签的文本。1代表仅当鼠标悬停在标签的图标显示标签的文本。
* SmallestVisibleSize 获取和设置文字的最小高度。以像素为单位。当摄像机靠近时,标签消失。
* TextAlignment 决定了有关的背景文本的水平和垂直对齐方式。该文本的有关背景图像的水平对齐有以下值之一:Left, TopLeft, TopRight, Top, Right, RightBottom, Bottom, BottomLeft (默认: Bottom).
* TextOnImage 如果为 true,则文本显示在标签中的图像之上。否则,标签扩大使文字围绕图像显示。如果此标签集没有图像,则此参数被忽略。
*/
GroupID, /* 标签在工程树中的位置,如果它被设置为空字符串,对象在根目录下创建。 也可以通过下列方法之一,来取得的 GroupID:
* 1、使用 IProjectTree66.CreateGroup 创建组。
* 2、如果你知道这个名字,使用 IProjectTree66.FindItem 查找组。
* 3、使用 IProjectTree66 中的方法遍历组,例如 GetNextItem, 直到找到想要的组的 ID。
*/
Description //标签在项目树中的名称,如果这个参数为一个空字符串,TerraExplorer 自动分配一个唯一的名称。
)
下面是一个简单的方法示例可以进行参考
//传入点的经度、维度、高度
function DrawLabel(x, y, z) {
try {
//创建点
var labelPos = sgworld.Creator.CreatePosition(x, y, z, 2); var cLabelStyle = sgworld.Creator.CreateLabelStyle(); cLabelStyle.TextOnImage = false; //设置文本是否显示在图像上。设置true(字在图上),设置false(字在图下)
cLabelStyle.Bold = true; //设置粗体
// cLabelStyle.LineToGroundType = 1;//无此参数
cLabelStyle.MultilineJustification = "center"; //如果有多行文字的话,确定文本对齐方式
cLabelStyle.TextAlignment = "Bottom"; //决定了有关的背景文本的水平和垂直对齐。
cLabelStyle.MaxViewingHeight = 800; //最大高度,如果超过此高度后,该点将隐藏 var cLabelPath = "F:\\myself\\images\\green_bubble.png"; //图片路径
var label1 = sgworld.Creator.CreateLabel(labelPos, "guanxin", cLabelPath, cLabelStyle, sgworld.ProjectTree.FindItem("新建组 ##575097"), "green_bubble"); sgworld.Navigate.FlyTo(label1); labelPos.X += 0.001; labelPos.Altitude += 0; //添加点的高度 var cLabelPath2 = "F:\\myself\\images\\grey_bubble.png"; //图片路径
var label2 = sgworld.Creator.CreateLabel(labelPos, "北京科技有限公司.\r\n西安办事处\r\n", cLabelPath2, cLabelStyle, sgworld.ProjectTree.FindItem("新建组 ##575097"), "grey_bubble");
} catch(e) {
alert("Unexpected error: " + e.description);
}
}
Skyline WEB端开发2——添加一个定位点、文本标签的更多相关文章
- Skyline WEB端开发5——添加标签后移动
针对于标签或者模型,在skyline上可以进行移动.可以让一个模型可以像无人机似的飞行,或者描述从一个点到另一个点的飞行轨迹. 话不多说,直接上干货. 第一步 添加标签 参考网址:https://ww ...
- Skyline WEB端开发1——入门
Skyline是一套优秀的三维数字地球平台软件.凭借其国际领先的三维数字化显示技术,它可以利用海量的遥感航测影像数据.数字高程数据以及其他二三维数据搭建出一个对真实世界进行模拟的三维场景.目前在国内, ...
- Skyline Web 端数据浏览性能优化
三维数据的效率一直是个瓶颈,特别是在Web端浏览一直是个问题,在IE内存限制1G的条件下,对于三维数据动不动几十G的数据量,这1G显得多么微不足道.虽然现在三维平台都是分级加载,或者在程序中采用数据分 ...
- Web jsp开发学习——新建一个项目
然后 index.jsp编辑 新建一个servlet 准备发布 发布
- 跟我一起学WCF(3)——利用Web Services开发分布式应用
一.引言 在前面文章中分别介绍了MSMQ和.NET Remoting技术,今天继续分享.NET 平台下另一种分布式技术——Web Services 二.Web Services 详细介绍 2.1 We ...
- 利用Web Services开发分布式应用
一.引言 在前面文章中分别介绍了MSMQ和.NET Remoting技术,今天继续分享.NET 平台下另一种分布式技术——Web Services 二.Web Services 详细介绍 2.1 We ...
- 渐进式web应用开发---service worker 原理及介绍(一)
渐进式web应用(progressive Web app) 是现代web应用的一种新形式.它利用了最新的web功能,结合了原生移动应用的独特特性与web的优点,为用户带来了新的体验. 一:传统web端 ...
- Web端即时通讯基础知识补课:一文搞懂跨域的所有问题!
本文原作者: Wizey,作者博客:http://wenshixin.gitee.io,即时通讯网收录时有改动,感谢原作者的无私分享. 1.引言 典型的Web端即时通讯技术应用场景,主要有以下两种形式 ...
- Web前端开发工程师养成计划【转载】
Web前端开发工程师养成计划(入门篇) 最原始的忠告:这个世界上有想法的人很多,但是有想法又能实现它的人太少! 首先要感谢伟大的Web2.0概念.产品概念.用户体验概念.jQuery插件,是它们在中国 ...
随机推荐
- SQLServer 进程无法向表进行大容量复制(错误号: 22018 20253)
原文:SQLServer 进程无法向表进行大容量复制 我的环境:SQL SERVER 2008 R2:发布者 ->SQL SERVER 2017 订阅者 进程无法向表“"dbo&quo ...
- 小米手机销量暴跌36% 雷军做错了什么?(人的需求是复杂的,而不是仅仅是一个性价比;要做体验价格比,而不是配置价格比)good
小米手机销量暴跌36% 雷军做错了什么? 日前,小米科技创始人雷军在美国马萨诸塞州剑桥市出席了第20届哈佛中国论坛开幕式并发表了演讲.在演讲中,雷军说但小米却只用两年半的时间一跃成为了中国第一,世界第 ...
- 使用内核对象Mutex可以防止同一个进程运行两次
用互斥法实现防止程序重复运行,使用内核对象Mutex可以防止同一个进程运行两次.注意:是名称相同的进程,而不是exe,因为exe程序可以改名. using System.Threading; publ ...
- WP 8.1 中挂起时页面数据保存方式(1)
1.保存到Applicaion Data配置信息中: 保存: privatevoid testTB_TextChanged(object sender, TextChangedEventArgs e) ...
- storm(二)消息的可靠处理
storm 通过 trident保证了对消息提供不同的级别.beast effort,at least once, exactly once. 一个tuple 从spout流出,可能会导致大量的tup ...
- MyCat的初步了解
MyCat 1 开源数据库中间件 MyCat 如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据 ...
- QTcpSocket类和QTcpServer类
QTcpSocket 详细描述:QTcpSocket 类提供一个TCP套接字TCP是一个面向连接,可靠的的通信协议,非常适合于连续不断的数据传递QTcpSocket 是QAbstractSocket类 ...
- 【Linux】Linux相关资料
linux相关技术资料: linux技术资料大全: http://t.cn/zYNBwFs
- Terminator快捷键
窗口相关 窗口开关 上下开新窗口 Ctrl+Shift+O垂直开新窗口 Ctrl+Shift+E关闭当前窗口 Ctrl+Shift+W 改变当前激活窗口 逆时针改变当前窗口 Ctrl+Sh ...
- CentOS7 Vim自动补全插件----YouCompleteMe安装与配置
最近刚装了新系统CentOS7,想要把编码环境配置一下,使用Vim编写程序少不了使用自动补全插件,我以前用的是neocomplcache+code_complete+omnicppcomplete.但 ...