热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

Skyline添加定位点sgworld.Creator.CreatePositionCreatePosition(X,兴趣点的东西方向坐标,即经度Y,兴趣点的南北方向坐标,即纬度A

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端开发 ——添加一个定位点、文本标签


推荐阅读
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
author-avatar
平凡的如果爱166
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有