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插件,是它们在中国 ...
随机推荐
- laravel 报错SQLSTATE[HY000] [2002] No such file or directory
在mac中执行php artisan migrate时报错 SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from i ...
- 错误代码: 0x800700b7 配置错误:定义了重复的“system.web.extensions/scripting/scriptResourceHandler”节
操作环境:Windows 8.1 IIS8.5 VS2008 解决方法: 把应用程序池的.Net CLR 版本从4.0修改为2.0即可.如下图所示:
- UWP入门(五)--控件模板
原文:UWP入门(五)--控件模板 通过在 XAML 框架中创建控件模板,你可以自定义控件的可视结构和可视行为(eg:勾选框的三种状态). 控件有多个属性,如 Background.Foregroun ...
- ASP.NET vNext 微笔记
关心 ASP.NET vNext 的人可能已经读过相关文章,例如:ASP.NET vNext @ 2014.那么,你可能已经知道,ASP.NET vNext 摆脱了 System.Web.DLL,把 ...
- 运维不仅仅是Linux,居然还要知道这么多?
摘要: 运维不仅仅是懂Linux就行,因为还有一大部分的Windows运维,向windows运维人员致敬.当然我们这篇文章不是说运维除了懂Linux,还要懂Windows,而是涉及运维的其他方方面面. ...
- 管道Demo
使用管道实现读取DOS命令结果,界面如下: 主要代码如下: UpdateData(TRUE); //创建一个管道,用于接收命令执行结果 SECURITY_ATTRIBUTES sa; ZeroMemo ...
- Redis 学习笔记(篇三):跳表
跳表 跳表(skiplist)是一种有序的数据结构,是在有序链表的基础上发展起来的. 在 Redis 中跳表是有序集合(sort set)的底层实现之一. 说到 Redis 中的有序集合,是不是和 J ...
- 设计模式之装饰器模式(decorator pattern)
装饰器模式主要对现有的类对象进行包裹和封装,以期望在不改变类对象及其类定义的情况下,为对象添加额外功能.是一种对象结构型模式.需要注意的是,该过程是通过调用被包裹之后的对象完成功能添加的,而不是直接修 ...
- Python 爬虫从入门到进阶之路(八)
在之前的文章中我们介绍了一下 requests 模块,今天我们再来看一下 Python 爬虫中的正则表达的使用和 re 模块. 实际上爬虫一共就四个主要步骤: 明确目标 (要知道你准备在哪个范围或者网 ...
- MAC电脑修改Terminal以及vim高亮显示
1. Terminal高亮显示 编辑~/.bash_profile文件,在末尾增加两行: export CLICOLOR= export LSCOLORS=exfxcxdxcxegedabagacad ...