ArcGIS Runtime SDK for .NET (Quartz Beta)之连接ArcGIS Portal
2017-02-24 09:51
477 查看
1. 介绍
ArcGIS Portal作为ArcGIS平台的中枢,在ArcGIS体系中起着至关重要的地位。在ArcGIS Runtime的新架构Quartz中添加了连接ArcGIS Portal(或ArcGIS Online),创建修改ArcGIS Portal(或ArcGIS Online)的Item的功能。(以下Portal都代指ArcGIS Portal或ArcGIS Online)
2.连接Portal
连接ArcGIS Portal和ArcGIS Online的方法是一样的。都是使用ArcGISPortal这个类去连接Portal。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
3.获取Portal信息
连接Portal后我们可以获得当前用户的下的所有信息。包括用户下所有文件夹所有项目。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
4.利用id显示地图
在Portal中,制作好的地图都有个对应的id。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201702/1009a6446951400bd5bd9d25ae67c708.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201702/75c44edc6264750d1f1454185fc931bd.png)
保存之后进入“我的内容”打开保存的web map。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201702/fb737df59e20382a73d163fa81a58afa.png)
我们可以看到url中有一段…?id=…..。我们可以使用这个id打开这个web map。
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
代码
ArcGIS Portal作为ArcGIS平台的中枢,在ArcGIS体系中起着至关重要的地位。在ArcGIS Runtime的新架构Quartz中添加了连接ArcGIS Portal(或ArcGIS Online),创建修改ArcGIS Portal(或ArcGIS Online)的Item的功能。(以下Portal都代指ArcGIS Portal或ArcGIS Online)
2.连接Portal
连接ArcGIS Portal和ArcGIS Online的方法是一样的。都是使用ArcGISPortal这个类去连接Portal。
// 使用portal地址,用户名,密码创建token凭证 var cred = await AuthenticationManager.Current.GenerateCredentialAsync( new Uri("http://esrihax.maps.arcgis.com/sharing/rest"), userName, password) as ArcGISTokenCredential; // 通过token连接Portal ArcGISPortal portal = await ArcGISPortal.CreateAsync( new Uri("http://esrihax.maps.arcgis.com/sharing/rest"), CancellationToken.None, cred); // 获取当前portal的用户和其权限 ArcGISPortalUser user = portal.CurrentUser; IEnumerable<string> privileges = await user.GetPrivilegesAsync();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
3.获取Portal信息
连接Portal后我们可以获得当前用户的下的所有信息。包括用户下所有文件夹所有项目。
//获取当前用户 var thisUser = myPortal.CurrentUser; if(thisUser == null) { return; } // 获取当前用户下的文件夹和项目 var folders = await thisUser.GetFoldersAsync(); var portalItems = await thisUser.GetItemsAsync(); // 显示所有项目 Debug.Print("Items for " + thisUser.FullName + ":"); foreach(var itm in portalItems) { Debug.Print(itm.Title); } // 显示所有文件夹 foreach(var f in folders) { Debug.Print("Contents of folder '" + f.Title + "'"); foreach (var i in await f.GetItemsAsync()) { Debug.Print("--" + i.Title); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
4.利用id显示地图
在Portal中,制作好的地图都有个对应的id。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201702/1009a6446951400bd5bd9d25ae67c708.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201702/75c44edc6264750d1f1454185fc931bd.png)
保存之后进入“我的内容”打开保存的web map。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201702/fb737df59e20382a73d163fa81a58afa.png)
我们可以看到url中有一段…?id=…..。我们可以使用这个id打开这个web map。
// 连接Portal ArcGISPortal arcGISOnline = await ArcGISPortal.CreateAsync(); // 使用项目的id创建portal项目 var portalItem = await ArcGISPortalItem.CreateAsync(arcGISOnline, "01f052c8995e4b9e889d73c3e210ebe3"); // 通过portal项目创建map var webMap = new Map(portalItem); // 把map添加到MapView中 MyMapView.Map = webMap;
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
代码
相关文章推荐
- ArcGIS Runtime SDK for .NET (Quartz Beta)之连接ArcGIS Portal (1)
- ArcGIS Runtime SDK for .NET (Quartz Beta)之连接ArcGIS Portal
- ArcGIS Runtime for .Net Quartz开发探秘(一):ArcGIS Runtime SDK for .Net简介及开发必要准备
- ArcGIS Runtime for .Net Quartz开发探秘(二):构建第一个ArcGIS Runtime WPF应用程序
- ArcGIS Runtime for .Net Quartz开发探秘(九):实时数据接入展示
- ArcGIS Runtime for .Net Quartz开发探秘(三):承接来自GIS服务器的服务
- ArcGIS Runtime Sdk for .Net基本介绍
- ArcGIS Runtime SDK for WPF已不更新,后续将被ArcGIS Runtime SDK for .NET取代
- ArcGIS Runtime for .Net Quartz开发探秘(十一):自定义三维图标绘制
- ArcGIS Runtime SDK for .NET 100.0中如何执行.gpk(二)
- ArcGIS Runtime for .Net Quartz开发探秘(八):三维
- ArcGIS Runtime for .Net Quartz开发探秘(十):标绘(二维)
- ArcGIS Runtime for .Net Quartz开发探秘(四):加载本地文件
- ArcGIS Runtime for .Net Quartz开发探秘(六):空间查询与识别
- ArcGIS Runtime SDK for .Net介绍
- ArcGIS Runtime SDK for Mac OS X使用示例
- ArcGIS runtime sdk for windows mobile 开发 Q&A
- ArcGIS RunTime SDK For ios 10.1.1学习笔记(一)HelloMapWorld
- ArcGIS Runtime SDK for iOS开发系列教程(0)——PPT分享(iOS历史、Objective-C语法、SDK介绍)
- ArcGIS Runtime SDK for iOS开发系列教程