ArcGIS for Silverlight API教程:地图绘制与操作(连载开始)

"ArcGis_For_Silverlight_API"
本文将详细介绍如何使用ArcGIS for Silverlight API来开发GIS应用,特别是地图显示、绘制点、线和图形。ArcGIS for Silverlight API是Esri公司提供的一种用于构建基于Silverlight的地理信息系统(GIS)应用程序的工具。在Visual Studio 2010和 Blend 4环境下,我们可以利用Silverlight 4来构建这些应用。
首先,我们需要获取ArcGIS API。在本示例中,使用的是版本1.1.0.97的ESRI.ArcGIS.Client库。不同版本的API基本功能相似,但可能有细微差别。创建项目时,我们需要创建一个网站项目,并且添加一个新的Silverlight应用程序项目。接着,我们将ArcGIS API库引入到项目中。
在XAML代码中,我们需要定义UserControl,并引入必要的命名空间,包括ESRI.ArcGIS.Client,这是API的核心部分。下面是一个简单的XAML代码示例:
```xml
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
xmlns:esri="clr-namespace:ESRI.ArcGIS.Client;assembly=ESRI.ArcGIS.Client"
xmlns:esriBehaviors="clr-namespace:ESRI.ArcGIS.Client.Behaviors;assembly=ESRI.ArcGIS.Client.Behaviors"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:ic="clr-namespace:Microsoft.Expression.Interactivity;assembly=Microsoft.Expression.Interactions">
</UserControl>
```
接下来,我们要在界面上添加地图控件。通过使用`esri:Map`元素,我们可以轻松地将地图集成到Silverlight应用中。例如:
```xml
<esri:Map x:Name="MyMap" />
```
然后,我们可以通过设置`Basemap`属性来加载基础地图服务,比如:
```xml
<esri:Map x:Name="MyMap" Basemap="Streets" />
```
此外,我们还可以添加图层(Layers),例如,从ArcGIS Server获取的动态图层或镶嵌数据集图层:
```xml
<esri:Map x:Name="MyMap">
<esri:Map.Layer>
<esri:DynamicMapServiceLayer Url="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" />
</esri:Map.Layer>
</esri:Map>
```
接下来,我们将讨论如何使用API进行地图操作和绘制。ArcGIS for Silverlight API提供了丰富的类和方法,可以实现地图的缩放、平移、旋转等操作。例如,我们可以使用`Pan()`和`ZoomIn()`方法来控制地图:
```csharp
MyMap.Pan(new Point(50, 50));
MyMap.ZoomIn();
```
对于绘制功能,API提供了`Graphic`类,用于在地图上绘制点、线和面。我们首先创建一个`GraphicsLayer`,然后在其中添加`Graphic`对象:
```csharp
var graphicsLayer = new GraphicsLayer();
MyMap.Layers.Add(graphicsLayer);
// 绘制点
var point = new MapPoint(-118.2437, 34.0522);
var symbol = new SimpleMarkerSymbol() { Style = SimpleMarkerSymbolStyle.Circle, Color = Colors.Red, Size = 10 };
var graphic = new Graphic(point, symbol);
graphicsLayer.Graphics.Add(graphic);
// 绘制线
var polyline = new Polyline(new List<MapPoint> { new MapPoint(-118.24, 34.05), new MapPoint(-118.23, 34.06) });
var lineSymbol = new SimpleLineSymbol() { Color = Colors.Blue, Width = 3 };
var lineGraphic = new Graphic(polyline, lineSymbol);
graphicsLayer.Graphics.Add(lineGraphic);
```
ArcGIS for Silverlight API还支持事件处理,如点击地图时获取点击位置、添加自定义行为等。结合交互性库,我们可以创建复杂的用户交互逻辑。
总结,ArcGIS for Silverlight API是一个强大的工具,它允许开发者在Silverlight环境中创建丰富的GIS应用。通过理解并熟练掌握API的使用,你可以构建出显示地图、绘制地理要素、实现地图交互等多种功能的应用。后续章节会进一步探讨更多高级特性,如图层管理、查询、地理编码、服务的使用等。
108 浏览量
2014-07-29 上传
2021-08-11 上传
2022-09-22 上传
2022-09-22 上传
2012-07-27 上传
2013-12-04 上传
2014-10-21 上传

Snowamour
- 粉丝: 1
最新资源
- webacus工具实现自动页面生成与报表导出功能
- 深入理解FAT32文件系统及其数据存储与管理
- 玛纳斯·穆莱全栈Web开发学习与WakaTime统计
- mini翼虎播放器官方安装版:CG视频教程全能播放器
- CoCreate-pickr:轻便的JavaScript选择器组件指南与演示
- 掌握Xdebug 5.6:PHP代码调试与性能追踪
- NLW4节点项目:使用TypeORM和SQLite进行用户ID管理
- 深入了解Linux Bluetooth开源栈bluez源代码解析
- STM32与A7105射频芯片的点对点收发控制实现
- 微信高仿项目实践:FragmentUtil使用与分析
- 官方发布的CG视频教程播放器 mini翼虎x32v2015.7.31.0
- 使用python-lambder自动化AWS Lambda计划任务
- 掌握异步编程:深入学习JavaScript的Ajax和Fetch API
- LTC6803电池管理系统(BMS)经典程序解析
- 酷音传送v2.0.1.4:正版网络音乐平台,歌词同步功能
- Java面向对象编程练习:多态在游戏对战模拟中的应用