ArcGIS Runtime SDK for .NET (Quartz Beta)之连接ArcGIS Portal
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
ArcGIS Runtime SDK for .NET (Quartz Beta)之连接ArcGIS Portal的更多相关文章
- 《ArcGIS Runtime SDK for Android开发笔记》——(3)、ArcGIS Runtime SDK概述
1.前言 ArcGIS Runtime SDK是一整套用于构建原生及跨平台的地图应用程序的开发包,包括移动设备的Android.iOS.Windows Phone,针对桌面的.Net.Java.OSX ...
- ArcGIS Runtime SDK for Android 10.2.5新开发平台安装配置指南
ArcGIS Runtime SDK for Android 10.2.5版本在年前发布,其中一个重大的变化是:新版本使用了新的开发环境,在10.2.5版本中Esri使用了官方提供的新的Android ...
- 《ArcGIS Runtime SDK for Android开发笔记》——翻译:ArcGIS Runtime SDK for Android 10.2.7发布
ArcGIS Runtime SDK for Android v10.2.7 released by Dan O'Neill on October 1, 2015(发布时间:2015年10月1日) W ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(8)、关于ArcGIS Android开发的未来(“Quartz”版Beta)
1.前言 今天再一次在官网看到了ArcGIS Runtime SDK for Android下一个版本“Quartz”版的更新资料,它将是一个非常重要的更新,包括API接口的重构和开发思路的调整.具体 ...
- 《ArcGIS Runtime SDK for Android开发笔记》
开发笔记之基础教程 ArcGIS Runtime SDK for Android 各版本下载地址 <ArcGIS Runtime SDK for Android开发笔记>——(1).And ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(9)、空间数据的容器-地图MapView
1.前言 在上一篇内容里介绍了 关于ArcGIS Android开发的未来(“Quartz”版Beta)相关内容,期间也提到了关于API接口的重构,开发思路的调整,根据2015UC资料也可以知道新版预 ...
- ArcGIS runtime sdk for wpf 授权
这两天由于runtime sdk for wpf的授权和runtime sdk 其他产品的授权的不一样导致自己混乱不堪. 总结下吧. sdk 简介 当前ArcGIS runtime sdk 包括一系列 ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(15)、要素绘制Drawtools3.0工具DEMO
1.前言 移动GIS项目开发中点线面的要素绘制及编辑是最常用的操作,在ArcGIS Runtime SDK for iOS 自带AGSSketchLayer类可以帮助用户快速实现要素的绘制,图形编辑. ...
- 安装 ArcGIS Runtime SDK for Android
ArcGIS for Android 开发:Android 平台搭建 - liyong20080101的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/liyong ...
随机推荐
- [CSP-S模拟测试]:Race(数学+Trie树)
题目描述 一年一度的运动会开始了.有$N$个选手参赛,第$i$个选手有一个能力值(保证$A[i]$两两不同),比赛一共进行了天.在第$j$天($0\leqslant j\leqslant 2^{m-1 ...
- PHP的Session机制解析 2
在鸟哥的博客看到对php session的过期时间的一篇文章,在此记录. 原文地址:http://www.laruence.com/2012/01/10/2469.html 以下是鸟哥博客原文: 今天 ...
- response.setHeader();小结
response.setHeader():1. HTTP消息头 (1)通用信息头 即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Pragma 主要: Cac ...
- Hibernate中常用HQL
HQL是Hibernate自带的查询语言 HQL是一种面向对象的查询语言.SQL的操作对象是数据表和列等数据对象,而HQL的操作对象是类.实例.属性等. HQL的语法很像SQL的语法 以下举例均以学生 ...
- js判断客户端是pc还是移动端
navigator.userAgentNavigator 对象包含有关浏览器的信息.没有应用于 navigator 对象的公开标准,不过所有浏览器都支持该对象.userAgent 属性是一个只读的字符 ...
- Selenium:火狐Try Xpath插件替代Firebug和Firepath
什么是Xpath? XPath是XML的路径语言,通俗一点讲就是通过元素的路径来查找到这个标签元素. 工具 Xpath的练习建议大家安装火狐浏览器后,下载插件,try path. 在Selenium中 ...
- js中的attributes和Attribute的用法和区别。
一:Attribute的几种用法和含义(attributes和Attribute都是用来操作属性的) getAttribute:获取某一个属性的值: setAttribute:建立一个属性,并同时给属 ...
- Django 登录验证码
url.py: url(r'^verifycode/$',views.verifycode), url(r'^verifycodefile/$',views.verifycodefile), url( ...
- IE兼容模式下样式分离错乱,求CSS高手
IE正常模式下访问正常 兼容模式右边图片切换区域样式错乱,求CSS高手! 详细参考网址:www.javams.com
- python上播放mp3歌曲
我想从python播放我的歌曲(mp3),你能给我一个最简单的命令吗? 这不正确: import wave w = wave.open("e:/LOCAL/Betrayer/Metalik ...