1.基础底图通常使用TiledLayer或者ArcGISDynamicLayer。

本质上都是在本地加载栅格图片。后台生成策略不同而已。从Vs2010的控件栏上拖过来的Map控件默认添加的底图是Esri的:
    <esri:ArcGISTiledMapServiceLayer Url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" />
如果使用代码在初始化的时候可以这么写:
    ArcGISTiledMapServiceLayer tiledLayer = new ArcGISTiledMapServiceLayer() {
                Url = "http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",
                ID="tiledLayer"
            };
 

2.绘制图层: GraphicLayer是最容易出现交互操作的图层。

在这上面可以添加点、线、面。三种不同的图形需要不同的符号来渲染。不同的符号系统需要使用代码,不过SilverLight提供了一种
更为简单易见的形式:使用XML配置。如下:
        <Grid.Resources>
            <esri:SimpleMarkerSymbol x:Key="BlackMarkerSymbol" Color="Black" Style="Cross" Size="12" />
            <esri:PictureMarkerSymbol x:Key="GlobePictureSymbol" OffsetX="8" OffsetY="8" Source="/Assets/images/globe-16x16.png" /> 
            <esri:SimpleLineSymbol x:Key="DefaultLineSymbol" Color="Green" Style="DashDot" Width="4" />
            <esri:SimpleFillSymbol x:Key="DefaultFillSymbol" Fill="Green" BorderBrush="Blue" BorderThickness="3" />
        </Grid.Resources>
 
节点<Grid.Resources>是指明为资源文件,之下放置了实例化的各个Symbol组件。使用x:Key来标识。接下来看如何解析该资源:
             Symbol makersymbol = LayoutRoot.Resources["BlackMarkerSymbol"] as Symbol;
marker.Style = SimpleMarkerSymbol.SimpleMarkerStyle.Square;
graphic.Symbol = makersymbol;
graphic.Geometry = e.Geometry;
graphicLayer.Graphics.Add(graphic);

3.事件操作

 交互操作免不了有各种事件实现。有些事件是可以通过vs的事件钩子实现,例如按钮点击事件。有些就需要另外一种策略实现:事件订阅也就是eventHandler。这是一种将方法封装成事件处理程序的方式
每一个定义了事件的类都可以用+=来添加相应的evenHandler来处理。如:

   void initGraphic()
{
drawable = new Draw(map1);
drawable.DrawMode = DrawMode.Point;
drawable.DrawComplete += new EventHandler<DrawEventArgs>(drawable_DrawComplete);
}
void drawable_DrawComplete(object sender, DrawEventArgs e)
{
Graphic graphic = new Graphic();
SimpleMarkerSymbol marker = new SimpleMarkerSymbol();
marker.Size = ;
Symbol makersymbol = LayoutRoot.Resources["BlackMarkerSymbol"] as Symbol;
marker.Style = SimpleMarkerSymbol.SimpleMarkerStyle.Square;
graphic.Symbol = makersymbol;
graphic.Geometry = e.Geometry;
graphicLayer.Graphics.Add(graphic);
}

【ArcGIS for SivlerLight api(3)】基础图层增删改查的更多相关文章

  1. Android 系统API实现数据库的增删改查和SQLite3工具的使用

    在<Android SQL语句实现数据库的增删改查>中介绍了使用sql语句来实现数据库的增删改查操作,本文介绍Android 系统API实现数据库的增删改查和SQLite3工具的使用. 系 ...

  2. MVC3+EF4.1学习系列(二)-------基础的增删改查和持久对象的生命周期变化

    上篇文章中 我们已经创建了EF4.1基于code first的例子  有了数据库 并初始化了一些数据  今天这里写基础的增删改查和持久对象的生命周期变化 学习下原文先把运行好的原图贴来上~~ 一.创建 ...

  3. Java API实现Hadoop文件系统增删改查

    Java API实现Hadoop文件系统增删改查 Hadoop文件系统可以通过shell命令hadoop fs -xx进行操作,同时也提供了Java编程接口 maven配置 <project x ...

  4. ASP.NET Web API基于OData的增删改查,以及处理实体间关系

    本篇体验实现ASP.NET Web API基于OData的增删改查,以及处理实体间的关系. 首先是比较典型的一对多关系,Supplier和Product. public class Product { ...

  5. [转]ASP.NET Web API基于OData的增删改查,以及处理实体间关系

    本文转自:http://www.cnblogs.com/darrenji/p/4926334.html 本篇体验实现ASP.NET Web API基于OData的增删改查,以及处理实体间的关系. 首先 ...

  6. 【转载】ASP.NET MVC Web API 学习笔记---联系人增删改查

    本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查.目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的.下面我们通过创建一个简单的Web API来管理联系 ...

  7. week_one-python基础 列表 增删改查

    # Author:larlly #列表增删改查#定义列表name = ["wo","ni","ta","wo"] #定义 ...

  8. ElasticSearch6(三)-- Java API实现简单的增删改查

    基于ElasticSearch6.2.4, Java API创建索引.查询.修改.删除,pom依赖和获取es连接 可查看此文章. package com.xsjt.learn; import java ...

  9. ASP.NET MVC Web API 学习笔记---联系人增删改查

    本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查. 目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的. 下面我们通过创建一个简单的Web API来管理 ...

随机推荐

  1. (转)loff_t *ppos是什么东东

    ssize_t generic_file_read(struct file * filp, char * buf, size_t count, loff_t *ppos) 这是一个文件读函数 我们很容 ...

  2. 【Java面试题】56 在JAVA中如何跳出当前的多重嵌套循环?

    在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环.例如, public class xunhuan { pu ...

  3. 【Java面试题】16 静态代码块,main方法,构造代码块,构造方法

    public class HelloB extends HelloA{ public HelloB() { System.out.println("HelloB"); } { Sy ...

  4. 支付宝 报错 rsa_private read error : private key is NULL解决方法

    原因:  真机调试IOS支付宝功能GDB出现 rsa_private read error : private key is NULL提示 调试iOS 支付宝SDK的时候,执行demo.把 Partn ...

  5. 【Mongo】聚合函数

    http://blog.csdn.net/miyatang/article/details/20997313 SQL Terms, Functions, and Concepts MongoDB Ag ...

  6. Java进阶路线图

    第一阶段 技术名称 技术内容 J2SE(Java基础部分) Java开发前奏 计算机基本原理,Java语言发展简史以及开发环境的搭建,体验Java程序的开发,环境变量的设置,程序的执行过程,相关反编译 ...

  7. implode,explode的使用

    implode把数组转成字符串的函数,在组合SQL语句时候使用特好使! 比如 $a = array('a','b','c');$b = implode(',', $a);echo $b; 返回的字符串 ...

  8. when an event of selector will be fired

    OP_READ Operation-set bit for read operations. Suppose that a selection key's interest set contains ...

  9. C#获取CPU处理器核心数量的方法_C#教程

    https://yq.aliyun.com/ziliao/89096 摘要: 本文讲的是C#获取CPU处理器核心数量的方法_C#教程, 有几条不同的处理器信息,您可以获得有关的信息:物理处理器数量.核 ...

  10. break、continue、return之间的区别与联系

    今天在部署程序的时候,监控日志发现这个问题了.return的问题就这么总结哈. 在软件开发过程中,逻辑清晰是非常之重要的. 代码的规范也是非常重要的.往往细节决定成败.在编写代码的时候,一定要理解语言 ...