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。

// 使用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。 
 

保存之后进入“我的内容”打开保存的web map。 
 
我们可以看到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

代码

转载于:https://www.cnblogs.com/telwanggs/p/6437224.html

ArcGIS Runtime SDK for .NET (Quartz Beta)之连接ArcGIS Portal相关推荐

  1. ArcGIS Runtime SDK for .NET开发实例教程 之 ArcGIS Runtime开发环境搭建

    随着ArcGIS Engine不再进行更新,ArcGIS Runtime得到了Esri公司的推崇,ArcGIS Runtime版本发布到100.4已经有了很大的内容完善和改进,接下来针对ArcGIS ...

  2. 《ArcGIS Runtime SDK for Android开发笔记》——(3)、ArcGIS Runtime SDK概述

    1.前言 ArcGIS Runtime SDK是一整套用于构建原生及跨平台的地图应用程序的开发包,包括移动设备的Android.iOS.Windows Phone,针对桌面的.Net.Java.OSX ...

  3. ArcGIS Runtime SDK for Windows Phone 入门教程

    ArcGIS Runtime SDK for Windows Phone 入门教程 基本概念 Windows Phone平台介绍 Windows Phone是微软发布的一款手机操作系统,它将微软旗下的 ...

  4. 《ArcGIS Runtime SDK for Android开发笔记》——(8)、关于ArcGIS Android开发的未来(“Quartz”版Beta)...

    1.前言 今天再一次在官网看到了ArcGIS Runtime SDK for Android下一个版本"Quartz"版的更新资料,它将是一个非常重要的更新,包括API接口的重构和 ...

  5. 《ArcGIS Runtime SDK for Android开发笔记》——(9)、空间数据的容器-地图MapView

    1.前言 在上一篇内容里介绍了 关于ArcGIS Android开发的未来("Quartz"版Beta)相关内容,期间也提到了关于API接口的重构,开发思路的调整,根据2015UC ...

  6. 《ArcGIS Runtime SDK for Android开发笔记》

    开发笔记之基础教程 ArcGIS Runtime SDK for Android 各版本下载地址 <ArcGIS Runtime SDK for Android开发笔记>--(1).And ...

  7. 《ArcGIS Runtime SDK for Android开发笔记》——(15)、要素绘制Drawtools3.0工具DEMO

    1.前言 移动GIS项目开发中点线面的要素绘制及编辑是最常用的操作,在ArcGIS Runtime SDK for iOS 自带AGSSketchLayer类可以帮助用户快速实现要素的绘制,图形编辑. ...

  8. 《ArcGIS Runtime SDK for Android开发笔记》——(6)、基于Android Studio的ArcGIS Android工程结构解析...

    1.前言 Android Studio 是第一个Google官方的 Android 开发环境.其他工具,例如 Eclipse,在 Android Studio 发布之前已经有了大规模的使用.为了帮助开 ...

  9. 《ArcGIS Runtime SDK for Android开发笔记》——(4)、基于Android Studio构建ArcGIS Android开发环境...

    1.前言 2015年1月15日,发布ArcGIS Runtime SDK for Android v10.2.5版本.从该版本开始默认支持android studio开发环境,示例代码的默认开发环境也 ...

最新文章

  1. lvs为何不能完全替代DNS轮询--转
  2. 信息传递服务器,AJAX的与服务器之间的信息传递原理(初学)
  3. C++轻量级微服务_从微服务架构解析信源新一代“金融e采”产品
  4. [蓝桥杯2016初赛]煤球数目-找规律
  5. R语言-Kindle特价书爬榜示例 输出HTML小技巧
  6. 编辑bpmn_「业务架构」BPMN简介第四部分-数据和工件
  7. BB:以太坊通胀提升至每天2.6万枚ETH
  8. 请勿在计算机室吃带果壳的食品英语,双语者如何在两种语言间切换?
  9. 筛选列_excel:有合并单元格的列不能筛选?没有什么不能,掌握方法就能
  10. 【畅捷通T+Cloud】12.3版本上线啦!
  11. 小柏实战学习Liunx(图文教程二十二)
  12. [java 手把手教程][第二季]java 后端博客系统文章系统——No7
  13. Web前端开发技术课程大作业——南京旅游景点介绍网页代码html+css+javascript
  14. android基于蓝牙实验,基于Android系统蓝牙开发的探究与实现.pdf
  15. Linux开放MySql 3306端口
  16. 通俗易懂,unity和c#是什么关系
  17. 泰山杯练习平台部分题目wp
  18. 【学习笔记之Openlayers3】要素保存篇(第四篇)
  19. 怎么设计好链游的经济模型?先看看传统游戏是如何抑制通货膨胀问题的
  20. Oracle执行计划filter下多个节点的优化

热门文章

  1. (24)VHDL实现与或非(行为描述)
  2. (3)zynq FPGA AXI4_Stream总线介绍
  3. FPGA复位激励编写(方法一)
  4. matlab吧结果存数组,求助:如何将带有符号变量的运算结果储存到数组中
  5. STM32 RCC时钟配置
  6. 向shell脚本中传入参数
  7. IAR常用快捷键及使用小技巧
  8. 嵌入式Linux系统编程学习之三十四 Socket 编程
  9. mint linux更新内核,如何在Ubuntu/Linux Mint中安装最新Linux 5.2.5内核
  10. mysql 缓冲查询_MySQL查询高速缓冲