使用Maps SDK添加本地slpk
SceneView m_sceneView;
public void LoadSceneLayerFromSLPK(SceneView sceneView, string slpkPath)
{
if (!File.Exists(slpkPath))
throw new Exception("文件不存在");
if (null == sceneView.Scene)
CreateScene(sceneView);
Uri treespk = new System.Uri(slpkPath);
var sceneLayer = new ArcGISSceneLayer();
// add the scene layer to the scene
sceneLayer.Source = treespk;
sceneLayer.Name = "三维";
sceneLayer.Loaded += SceneLayer_Loaded;
sceneLayer.SurfacePlacement = SurfacePlacement.Relative;
sceneView.Scene.OperationalLayers.Add(sceneLayer);//添加三维图层
}
public async void CreateScene(SceneView sceneView)
{
m_sceneView = sceneView;
// Create new Scene
Scene myScene = new Scene();
// Set Scene's base map property
myScene.Basemap = Basemap.CreateImagery();
myScene.Basemap.BaseLayers[0].Name = "影像";
sceneView.Scene = myScene;
}
private void SceneLayer_Loaded(object sender, EventArgs e)
{
var arcGISSceneLayer = sender as ArcGISSceneLayer;
if (null == arcGISSceneLayer)
return;
var fullExtent = arcGISSceneLayer.FullExtent;
if (null == fullExtent)
return;
var center = fullExtent.GetCenter();
var camera = new Camera(center.Y, center.X, 500, 60, 0, 71.17);
m_sceneView.SetViewpointCameraAsync(camera);
}
这时候,图层已经能加载进来,但是是飘在空中的。这是因为没有设置对应的高程表面,导致高程的偏移。需要添加一个高程表面,我使用的是dem作为高程表面,也可以使用高程服务。
public async void CreateScene(SceneView sceneView)
{
m_sceneView = sceneView;
// Create new Scene
Scene myScene = new Scene();
// Set Scene's base map property
myScene.Basemap = Basemap.CreateImagery();
myScene.Basemap.BaseLayers[0].Name = "影像";
sceneView.Scene = myScene;
var el = new RasterElevationSource(new string[] { @"DEM.tif" });
el.Name = "elevation";
await el.LoadAsync();
var su = new Surface();
su.ElevationSources.Add(el);
sceneView.Scene.BaseSurface = su;
}
使用Maps SDK添加本地slpk的更多相关文章
- [原]逆向iOS SDK -- “添加本地通知”的流程分析
观点: 代码面前没有秘密 添加通知的 Demo 代码 - (void)scheduleOneLocalNotification { [[UIApplication sharedApplication] ...
- maven添加本地jar包
今天遇到一个mavan仓库中没有的jar包, 故只能添加本地jar包, 花了不少时间找资料,终于OK.故在此记录. 1. 第一次,在网上看到说可以用<systemPath> 解决, 如下: ...
- Sql server之路 (三)添加本地数据库SDF文件
12月25日 今天搞了半天 添加本地数据库Sdf文件到项目里.总是出现问题. 安装环境 Vs2008 没有安装的环境 1.Vs2008 sp1 2. 适用于 Windows 桌面的 Microsoft ...
- AD组策略添加本地账号、设置允许ping回显
AD组策略添加本地账号 1. 管理工具--组策略管理--选择相应GPO(编辑)----首选项--控制面板设置--本地用户和组--右键添加账号 2.域成员计算机刷新组策略(gpupdate/force) ...
- maven添加本地依赖包方法
1.某些情况下不方便上传本地依赖包到Maven repository,可以通过下面方法添加本地依赖包. 2.方法 1).pom.xml中添加以下代码块 <dependency> <g ...
- 在Android Studio添加本地aar包引用
1.如何在Android Studio添加本地aar包引用 https://jingyan.baidu.com/article/2a13832890d08f074a134ff0.html 2.完成上述 ...
- Ubuntu Linux系统三种方法添加本地软件库
闲着没事教教大家以Ubuntu Linux系统三种方法添加本地软件库,ubuntu Linux使用本地软件包作为安装源——转2007-04-26 19:47新手重新系统的概率很高,每次重装系统后都要经 ...
- maven添加本地jar到本地库中
maven添加本地jar到本地库中(用于远端地址下载不了的情况) 在dos命令行执行以下命令将会吧ojdbc14-10.2.0.4.0.jar添加到本地库中(ps:必须已经安装了,maven,并配置了 ...
- intelliJ IDEA 怎么添加本地的idea web项目
概述:这篇文章主要讲述idea开发工具怎么添加本地的idea web项目. 一:首先介绍一下idea web项目的目录结构: 上图详细简单的说了一下idea web项目的文件情况. 二:说明一下部署本 ...
- Maven中如何将源码之外的文件打包及添加本地jar
<build> <resources> <resource> <directory>src/main/resources</directory&g ...
随机推荐
- Flutter Engage China 开发者常见问题解答 | 下篇
再次感谢大家对 Flutter Engage China 活动 的关注和积极参与!我们在活动前后收到了很多来自开发者的反馈和问题,Flutter 团队和演讲嘉宾在直播 Q&A 环节中也针对部分 ...
- [TK] Terrible Prime
题目链接 T415418 这道题严格的时间限制比较令人头疼,似乎需要一些高级的算法,但实际上是,想要用点基础知识通过这道题需要两种算法:费马小定理 (见下函数Miller_rabin) 用于subta ...
- AD域下,普通用户环境下安装软件需要管理员权限的解决办法
原理:将AD域普通用户添加到管理组中,使其拥有管理员权限 做法: 1.切换到AD域管理员账户: 2.计算机 -> 管理 -> 用户和组 -> 组 -> Administrato ...
- ServiceMesh 2:控制面和数据面的职责(图文总结)
★ ServiceMesh系列 1 Service Mesh介绍 之前的章节我们详细介绍了ServiceMesh的基础知识. ServiceMesh 是最新一代的微服务架构,作为一个基础设施层,能够与 ...
- Windows下使用Wireshark分析USB通信
WireShark中对USB数据捕获 可以监视与主机连接的usb数据. usb设备是三段地址描述,例如1.15.1,第一个是总线,第二个是设备地址,第三个是端口. USB数据抓包分析 这些是鼠标的数据 ...
- .NET 实现的交互式 OA 系统
前言 近期,我们在后台收到了粉丝们的留言,需要一个高效办公自动化(OA)系统.为了回应大家的期待,今天我们推荐一款既灵活又强大的 OA 系统解决方案,帮助提升日常办公效率和团队协作水平. 在日常工作中 ...
- innerText 和 inner HTML 的区别
获取内容时: innerText会自动删除空格和换行:innerHTML会保留空格和换行: <body> <div>获 取内 容</div> <script& ...
- AtCoder Beginner Contest 371(ABCDE)
A 个人直接硬解,讨论情况也并不复杂 代码: #include<bits/stdc++.h> #define int long long using namespace std; cons ...
- 黑客工具:Amass – 寻找子域
安装 所有信息都可以在 OWASP Amass 项目的 Github 页面上找到:https://github.com/OWASP/Amass.我们将一起完成安装过程,以便更快地部署. 转到发布页面并 ...
- java基础语法(从0开始到java方法)
文章目录 1.第一个java程序 2.数据的表示详解 2.1 整数在计算机中的存储原理 2.2 字符在计算机中的存储原理 2.3 图片视频声音的存储原理 2.4 数据的其他表示形式 2.5 不同进制在 ...