ArcGIS for Silverlight API教程:地图绘制与操作(连载开始)
4星 · 超过85%的资源 需积分: 9 43 浏览量
更新于2024-09-11
收藏 225KB DOCX 举报
"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的使用,你可以构建出显示地图、绘制地理要素、实现地图交互等多种功能的应用。后续章节会进一步探讨更多高级特性,如图层管理、查询、地理编码、服务的使用等。
103 浏览量
2014-07-29 上传
666 浏览量
238 浏览量
150 浏览量
128 浏览量
168 浏览量
213 浏览量
Snowamour
- 粉丝: 1
- 资源: 48
最新资源
- teacheruz:乌兹别克斯坦地方大学的学生管理系统
- dbdot:为postgres db模式生成DOT描述
- facebook-rockin-最佳自动化-selenium-scrape-no-api-tool-bot-machine-made-to-destroy-facebook:Facebook自动化:登录,喜欢,共享,评论,发布,删除。 包含视频“实际中”。 目的主要是通过在Fakebook平台中填充垃圾内容来破坏Fakebook平台(例如,当您决定离开所有这些Fcking平台时,在其中自杀)。 请安装,测试并提交您自己的改进和功能! 谢谢!
- Trigger
- 意法半导体ST_LinkV2.7z
- banking_app_angular
- kiosk_system_rpi3:Raspberry Pi 3的Nerves QtWebEngine信息亭系统
- Tribeca
- springboot-guide:Not only Spring Boot but also important knowledge of Spring(不只是SpringBoot还有Spring重要知识点)
- maven及其maven本地仓库
- SecretSanta2020:秘密圣诞老人游戏Jam 2020的游戏
- WWH21:我的winterwonderhack2021项目
- assertj-bean-validation:Bean验证的AssertJ扩展
- pytesseract:Google Tesseract的Python包装器
- FifaOnline4Api
- Triadxs