首页 > 代码库 > ArcGIS API For Silverlight实现面要素的动态标注
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}
ArcGIS API For Silverlight实现面要素的动态标注
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。