前言:

查看arcgis sl api 老版本帮助的方式:http://resources.arcgis.com/en/help/silverlight-api/3.0/xxxxxxx

新版本的帮助默认不带版本号/3.0/这一节,如果要查看老版本的帮助需要再新版本的帮助的连接上增加版本号即可查看。

前些日子在arcgis 10.1推出后不久 sl api更新到了3.1 下面就3.1的变化进行说明:

1.支持 vs2012 ,增加vs2012项目模板

2.更新版本号为10.1.1 对应桌面版本,不再使用3.x的命名方式

3.增强Locator Class 新增了FindAsync 方法。支持 arcgis online的世界地址编码服务(http://geocode.arcgis.com)

类似Geoprocessor的GetResultMapServiceLayer方法一样,arcgis sl api 原来的异步模型都是 先提交 然后 触发完成事件  然后获取 然后触发获取完成事件

从3.0开始 部分异步替换成这种逻辑 提交 提交完成事件 获取结果 取消了原来的获取+获取完成事件的方式。FindAsync也是简化了原来的方法交互

ArcGIS Online提供了地理编码服务(http://geocode.arcgis.com),支持单线路地理编码,以及文本搜索的兴趣点,如企业和地标,根据输入位置、范围,或国家进行过滤。在API中,Locatortask已经增强,支持额外的方法,处理程序、输入和结果类型进行查找操作。服务也支持传统的地理编码,如地址转位置和位置转地址,和批量地理编码。

注意:批量编码需要ArcGIS Online的账户。

tring locatorUrl = "http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer";

Locator locatorTask = new Locator(locatorUrl);
locatorTask.FindCompleted += (s, e) =>
{
LocatorFindResult locatorFindResult = e.Result;
foreach (Location location in locatorFindResult.Locations)
{
// add to graphics/table
}
}; LocatorFindParameters locatorFindParams = new LocatorFindParameters()
{
Text = "Walmart",
Location = MyMap.Extent.GetCenter(),
Distance = MyMap.Extent.Width / 2,
MaxLocations = 5,
OutSpatialReference = MyMap.SpatialReference
}; locatorFindParams.OutFields.AddRange(
new string[]{"Score", "Distance", "Type", "Rank"}); locatorTask.FindAsync(locatorFindParams);

4.全面支持arcgis portal api(ArcGISPortalItem class)

增强了支持ArcGIS Portal API关注组织,和向门户中的项目分享信息分享信,改变门户项目的分享状态,得到用户使用的标签信息,Portal发布服务的清单助手。

使用ArcGISPortalItem.GetGroupsAsync 获取包含作为一个成员和当前用户可以访问到的门户项目的组织。使用e ArcGISPortalItem.GetSharingInfoAsyn 来获取一个项目被分享的详细信息,作为一个补充,您可以使用ArcGISPortalItem.ShareAsync和UnshareAsync来改变一个项目是如何的分享,使用ArcGISPortalUser.GetUserTagsAsync来决定什么标签被用来作为关键字,以及标签被当前用户使用多少次。

5.新的ArcGISWebClient class 用来处理 web requests

在与arcgis server通信,用来代替Microsoft System.Net.WebClient这个类,使用跟简便。例如soe情况下。

ArcGISWebClient类被用来创建和管理原始的Web请求,以优化使用ArcGISServer,ArcGIS Online,以及Portalfor ArcGIS,这个类根据Web请求的长度被用来在GET和POST请求之间切换、使用GZIP压缩下载,处理ArcGIS Server的解码错误,使用IdentityManager来访问安全的资源,禁用客户端缓存,设置代理,这个类是能够良好地与ArcGIS 资源交互,比如在ArcGISServer站点检索服务的列表,、与SOE交互,发布数据到门户。

6.新的 CsvLayer 图层 支持.csv文件

一个csv文件包含的文本用定界符来分隔作为数据,一般使用逗号,数据可以包括位置信息,比如x,y 坐标值,CsvLayer 类让添加包括地理信息的文本文件到地图上作为要素图层变的容易,一组属性可以被定义为表示数据如何存储,比如XFieldName,YFieldName,以及ColmnDelimiter,你可以选择性第限制可利用的字段源,可以使用SourcespatialReference来定义空间参考,

<esri:CsvLayer
Url="http://earthquake.usgs.gov/earthquakes/feed/csv/1.0/hour"
Renderer="{StaticResource MySimpleRenderer}">
<esri:CsvLayer.MapTip>
<TextBlock Text="{Binding [Magnitude]}" />
</esri:CsvLayer.MapTip>
</esri:CsvLayer>

7.OpenStreetMapLayer 支持自定义的 瓦片服务

OpenStreetMap提供了一个使用许多数据提供商主机映射数据作为缓存的瓦片的标准。OpenStreetMapLayer接受用来检索瓷砖地图瓦片服务器的列表, 您可以包含一个以上瓦片服务器跨越多个站点请求传播切片请求

<esri:Map x:Name="MyMap">
<esri:OpenStreetMapLayer ID="osmLayer">
<esri:OpenStreetMapLayer.TileServers>
<sys:String>http://otile1.mqcdn.com/tiles/1.0.0/osm</sys:String>
<sys:String>http://a.tile.openstreetmap.org</sys:String>
<sys:String>http://a.tile.opencyclemap.org/cycle</sys:String>
</esri:OpenStreetMapLayer.TileServers>
</esri:OpenStreetMapLayer>
</esri:Map>

8 其他增强

 

l 新的FeatureLayerInfo属性 比如DefaultVisibility, EffectiveMaxScale, EffectiveMinScale, TimeInfo,和 TimeReference.

l 根据JSON文件来创建FeatureLayerInfo和Geometry,以及把FeatureLayerInfo 、Geometry转化为JSON格式。

l Geometry.GetResolution 提供一个方便地讲比例尺转化为分辨率的方法。

l 支持基于权限启用来允许他人查询要素服务

l IdentityManager支持ArcGIS Portal for ArcGIS以及ArcGIS Server站点的联合令牌机制。

l IdentityManager 支持原生平台验证的安全服务。

l 对Web Map支持的增强,比如一个图层的最大,最小比例尺。

l WebMap 的图层的Popup窗口的字段中,支持超链接的描述字段

9 变更

Web Map 要素集合作为一个GroupLayer来返回,要素集合是有Web Map中的一个或者多个图层组成的,它们可以被作为可编辑的图层创建,或者来自CSV文件,GPX文件,以及SHP文件,当一个要素集合被展现在Web Map时,ArcGIS Runtime SDK for WindowsPhone 返回要素集合作为一个GroupLayer来匹配WebMap的结构。

OpenStreetMapLayer中Osmarender风格地图被移除,在枚举OpenStreetMapLayer.MapStyle中不在有Osmarende。

10 废弃

  GraphicsLayer.ClearGraphiocs方法不再被公开。用GrapicsLaye.Graphics.Clear() 来完成原来的功能。

arcgis api for silverlight 3.1 更新说明的更多相关文章

  1. ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件

    原文:ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件 先看效果图,然后上代码: <UserControl x:Class= ...

  2. ArcGIS API for Silverlight 实现修改地图上的工程点位置

    原文:ArcGIS API for Silverlight 实现修改地图上的工程点位置 #region 处理工程点点击编辑相关事件 public Graphic editgraphics = null ...

  3. ArcGIS API for Silverlight 调用GP服务加载等值线图层

    原文:ArcGIS API for Silverlight 调用GP服务加载等值线图层 第二篇.Silverlight客户端调用GP服务 利用ArcGIS API for Silverlight实现G ...

  4. 使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示

    原文:使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示 首先来看一看实现的效果: PS:原始的程序中更新曲线数据时添加了过渡的效果,具体可 ...

  5. ArcGIS api fo silverlight学习一(silverlight加载GeoServer发布的WMS地图)

    最好的学习资料ArcGIS api fo silverlight官网:http://help.arcgis.com/en/webapi/silverlight/samples/start.htm 一. ...

  6. ArcGIS API for Silverlight动态标绘的实现

    原文:ArcGIS API for Silverlight动态标绘的实现 1.下载2个dll文件,分别是: ArcGISPlotSilverlightAPI.dll 和 Matrix.dll 其下载地 ...

  7. ArcGIS API for Silverlight地图加载众多点时,使用Clusterer解决重叠问题

    原文:ArcGIS API for Silverlight地图加载众多点时,使用Clusterer解决重叠问题 问题:如果在地图上加载成百上千工程点时,会密密麻麻,外观不是很好看,怎么破? 解决方法: ...

  8. ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法

    原文:ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法 群里好几个朋友都提到过这样的问题,说他们在Silverlight中调用了WebServi ...

  9. ArcGIS API for Silverlight 调用GP服务绘制等值面

    原文:ArcGIS API for Silverlight 调用GP服务绘制等值面 GP服务模型如下图: 示例效果图片如下:

随机推荐

  1. c#操作mysql

    using System; using MySql.Data; using MySql.Data.MySqlClient; using System.Data; using System.Linq; ...

  2. 利用URL Scheme打开APP并传递数据

    https://blog.csdn.net/u013517637/article/details/55251421 利用外部链接打开APP并传递一些附带信息是现在很多APP都有的功能,我在这把这部分的 ...

  3. (转)Apache和Nginx运行原理解析

    Apache和Nginx运行原理解析 原文:https://www.server110.com/nginx/201402/6543.html Web服务器 Web服务器也称为WWW(WORLD WID ...

  4. Oracle TM锁和TX锁

    CREATE TABLE "TEST6" ( "ID" ), "NAME" ), "AGE" ,), "SEX ...

  5. Oracle给Select结果集加锁,Skip Locked(跳过加锁行获得可以加锁的结果集)

    1.通过select for update或select for update wait或select for update nowait给数据集加锁 具体实现参考select for update和 ...

  6. ASP.NET MVC 域名泛解析设置

    最近有个需求要做一个动态二级域名的网站,我们可以通过这样的方式去访问我们的网站 http://用户名.blog.com.而这里的用户名是根据程序的需要动态生成的.这里就会涉及到DNS服务器,要做相应的 ...

  7. word-wrap和word-break的区别吗?

    word-wrap: css的 word-wrap 属性用来标明是否允许浏览器在单词内进行断句,这是为了防止当一个字符串太长而找不到它的自然断句点时产生溢出现象. word-break: css的 w ...

  8. html的framset使用

    frameset主要用在显示多个页面的需求下: 看代码: <html> <head> <title>html frameset test</title> ...

  9. vim命令汇总

    文章首发:http://www.cnblogs.com/sprying/p/3864631.html 上一次学习vim还是快一年了,倒腾了一个月之后就没碰过.现在重新汇总下vim命令. 1.有些命令回 ...

  10. [tools]转载汇总

    1. 发送请求工具—Advanced REST Client Advanced REST Client是Chrome浏览器下的一个插件,通过它可以发送http.https.WebSocket请求.