ArcGIS API For Silverlight实现面要素的动态标注

如果需要对地图中所有面要素进行标注,当然我们可以直接在ArcMap中对数据进行处理加上标注。但是如果要实现选中要素的动态标注呢?

首先,我们来看一下点要素的标注方法。我们知道在ArcGIS API For Silverlight的符号化中有一个是TextSymbol,因此可以利用这个来实现标注功能,TextSymbol是属于点的符号化,所以只需为一个点的Graphic的符号设置为TextSymbol,文本就可以绑定到相应的属性,或者是自己设置的文本内容也行。

  核心代码如下:

foreach (Graphic resultGraphic in featureSet)
{
  Brush b = new SolidColorBrush(Color.FromArgb(100, 255, 255, 255));

  Graphic graphicLabel = new Graphic()
  {
    Geometry =  resultGraphic.Geometry,
    Symbol = new TextSymbol()
    {
      Text = cbhtGraphic.Attributes["地块号"].ToString(),
      FontSize = 12,
      Foreground = b
    }
  };
  layer.Graphics.Add(graphicLabel);添加结果至GraphicLayer
}

  

但如果我们要为一个面增加标注呢?那我们该如何获取器位置呢。这里我主要通过Extent中的GetCenter方法获取面要素的外包矩形的中心点作为标注点进行标注。

核心代码如下:

foreach (Graphic resultGraphic in featureSet)
{
  Brush b = new SolidColorBrush(Color.FromArgb(100, 255, 255, 255));

 Graphic graphicLabel = new Graphic()
 {
   Geometry =  resultGraphic.Geometry,
   Symbol = new TextSymbol()
   {
     Text = cbhtGraphic.Attributes["地块号"].ToString(),
     FontSize = 12,
     Foreground = b
   }
 };
  layer.Graphics.Add(graphicLabel);添加结果至GraphicLayer
}
时间: 2024-08-01 06:33:56

ArcGIS API For Silverlight实现面要素的动态标注的相关文章

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

原文:使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示 首先来看一看实现的效果: PS:原始的程序中更新曲线数据时添加了过渡的效果,具体可查看官网的示例: http://www.visifire.com/silverlight_spline_charts_gallery.php 点击其中的一个例子,然后点击Live Updates,就可看到数据更新时的过渡效果.但是蛋疼的博客园,不知道为什么,我插入了我原始的xap文件,过渡效果却没有

ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试

原文:ArcGIS API for Silverlight 调用GP服务准备---GP模型建立.发布.测试 第一篇.GP降雨量等值线建模.发布及测试 在水利.气象等行业中,要在WebGIS中实现空间分析功能,如绘制等值线.等高线.等直面.缓冲区等都是经常遇到,经过一段时间的学习和研究,查阅ESRI文档,请教他人,终于可以说是初步实现了等值线功能,这里记录下来详细的操作步骤和图片说明,一方面是对此次努力的总结,另一方面希望也能给后来用到这方面的其他同志们,起个抛砖引玉的作用. 下一篇是关于Silv

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

原文:ArcGIS API for Silverlight 调用GP服务加载等值线图层 第二篇.Silverlight客户端调用GP服务 利用ArcGIS API for Silverlight实现GP服务调用,这里的雨量数据是通过一个WebService获取而来,主要信息是雨量站点的经纬度坐标值和某个时间段内的降雨量值三个主要字段. 以下是核心代码部分: <UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pr

使用ArcGIS API for Silverlight 进行复合多条件空间查询

原文:使用ArcGIS API for Silverlight 进行复合多条件空间查询 这两天帮网上认识的一个兄弟做了一个查询的示例,多多少少总结一下,在此和大家分享. 为什么说是复合多条件呢?因为进行空间查询有时候我们查询的条件会很复杂,比如要求某一要素的某一属性大于多少,且小于多少,且又不等于多少等等.而在官网给出的例子中并没有关于复合查询的说明.不过查看API后,你会发现一句很重要的话: A where clause for the query. Any legal SQL where c

使用ArcGIS API for Silverlight + Visifire绘制地图统计图

原文:使用ArcGIS API for Silverlight + Visifire绘制地图统计图 最近把很久之前做的统计图又拿出来重新做了一遍,感觉很多时候不复习,不记录就真的忘了,时间是最好的稀释剂,真是这样. 恰好有些网友又向我问起,于是稍作记录,以便自己今后复习和参考. 本文示例用的版本为: Silverlight 5+Visifire 3.6.8+ArcGIS API for Silverlight 3.0+Visual Studio 2010 一.ArcGIS API For Sil

浅析ArcGis API for Silverlight查询

一.ArcGis API for Silverlight 简介    ArcGIS API for Silverlight是由美国Esri公司推出的,用于在Silverlight平台上开发WebGIS应用的一套编程接口.ArcGIS API for Silverlight通过REST接口访问ArcGIS Server发布的地图服务.影像服务.几何服务.地理处理服务.要素服务.网络服务等,还可以访问OGC标准的WMS.WFS.WCS等服务,也可以访问Bing地图服务.主要功能有:1. 空间数据展示

ArcGIS API for Silverlight 学习笔记

这里主要讲解展示不同的服务地图 先看一个实例: 新建一个Silverlight项目,在MainPage.xaml文件中,引入 ESRI.ArcGIS.Client 命名空间和 ESRI.ArcGIS.Client 所在的程序集 ESRI.ArcGIS.Client,并指定 该命名空间的名字为 esri,当然你也可以用自己的别名,比如myGIS. 接着写Map控件,并指定Map中的地图服务,一个简单的服务地图完成了,代码如下: <UserControl x:Class="ArcGISTile

ArcGIS API for Silverlight 点沿着线流动

原文:ArcGIS API for Silverlight 点沿着线流动 概述 前段时间做了一个项目,要求是有一些电力输送线,电力输送线或者石油管道都是有流动方向的,用户想做一个动态效果来模拟电力的输送.其实做简单了只要在线上标识个箭头就可以了.但也要是做成动态的,至少ArcEngine实现起来是有点麻烦的.但ArcGIS API for Silverlight可以解决这个问题. 实现思路 在地图上展示输送电力的线和模拟电力输送方向的电都是ArcGIS  API中定义的对象,否者这些数据在地图上

ArcGIS API for Silverlight中加载Google地形图(瓦片图)

原文:ArcGIS API for Silverlight中加载Google地形图(瓦片图) 在做水利.气象.土地等行业中,若能使用到Google的地形图那是再合适不过了,下面就介绍如何在ArcGIS API for Silverlight中加载Google地 形图.先上一个图,初步制作,待后续继续改进 ArcGIS API for Silverlight 中的ArcGISTiledMapServiceLayer图层,继承自TiledMapServiceLayer.如果想实现自己的缓存地图图 层