地图渲染之Clusterer聚集

当比例尺过小,而该区域点要素过多时,就会造成许多点重复覆盖,密密麻麻,影响地图美观,对于这个问题ArcGIS Api for WPF|Silverlight 引入了Clusterer聚集来解决,当点比较密集时,它会将临近的点当做一个来显示,然而又可以通过动画的方式将其弹出展示,效果如下图:

上面是一个FlareCusterer的演示,它的相关属性有FlareBackground:Flare的背景填充颜色,即上图黄色部分;FlareForeground:Flare符号文本或边框的颜色,默认为白色,即上图黄色填充部分的边框和其上的文字;MaximumFlareCount:Flare符号所代表的要素的最大个数,即显示成黄色弹出样式和蓝色大量聚集样式的边界个数;Radius:表示聚集的半径,在该聚集内的要素都将被聚合在一起。以像素为单位定义,默认值为20,即元素距离在该半径内,才会被聚集显示;Gradient:大聚集符号使用的LinearGradientBrush渲染,即大量聚集时不同数量用不同的颜色表示。

由上可得FlareCuster聚集有两种样式显示,一种是可弹出查看子元素的形式,一种是大量聚集。具体实现如下:

这里只提供XAML实现方式,C#代码实现的思路一样,只需设置好上述的属性即可

1.定义Gradient渐变色资源

<Grid.Resources>

  <LinearGradientBrush x:Key="BlueGradient"  MappingMode="RelativeToBoundingBox" ><!--线性渐变-->

    <GradientStop Color="#990011FF" Offset="0"/>
    <GradientStop Color="#990055FF" Offset="0.25"/>
    <GradientStop Color="#990099FF" Offset="0.5"/>
    <GradientStop Color="#9900CCFF" Offset="0.75"/>
    <GradientStop Color="#9900FFFF" Offset="1"/>
  </LinearGradientBrush>
</Grid.Resources>

2.设置FeatureLayer|GraphicsLayer Custerer相关属性

<esri:FeatureLayer.Clusterer>
  <esri:FlareClusterer Gradient="{StaticResource BlueGradient}" MaximumFlareCount="5" Radius="10" FlareBackground="Yellow" FlareForeground="Blue">
  </esri:FlareClusterer><!--属性介绍,可见上文-->
</esri:FeatureLayer.Clusterer>

除了FlareCusterer聚集渲染外,还可以扩展GraphicsClusterer,自定义实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值