ArcGIS API for Silverlight 之ElementLayer使用及TextSymbol的模板使用
来源:互联网 发布:淘宝有哪些美食 编辑:程序博客网 时间:2024/05/01 20:37
在开发中动态在地图上添加文字信息,可以使用TextSymbol添加文字
- //动态添加文本
- TextSymbol textSymbol = new TextSymbol()
- {
- FontFamily = new System.Windows.Media.FontFamily("Microsoft YaHei"),
- Foreground = new System.Windows.Media.SolidColorBrush(Color.FromArgb(255, 255, 0, 0)),
- FontSize = 14,
- Text = item.ZDMC,
- OffsetX = 12,
- OffsetY = -5
- };
- Graphic graphicText1 = new Graphic()
- {
- Geometry = mercator.FromGeographic(new MapPoint(double.Parse(item.Latitute.ToString().Trim(), System.Globalization.CultureInfo.InvariantCulture), double.Parse(item.Longitute.ToString().Trim(), System.Globalization.CultureInfo.InvariantCulture))),
- Symbol = textSymbol
- };
- graphicText1.Attributes["TextYLZMC"] = item.ZDMC;
- graphicsLayer1.Graphics.Add(graphicText1);
如果要考虑给文字加背景颜色的话,该类就无法起作用了
- //动态添加带背景颜色的文字信息
- Border b = new Border();
- b.Background = new SolidColorBrush(Colors.Blue);
- b.Height = 20;
- b.CornerRadius = new CornerRadius(5);
- TextBlock tb = new TextBlock();
- tb.Text = item.ZDMC;
- tb.Foreground = new SolidColorBrush(Colors.White);
- tb.HorizontalAlignment = HorizontalAlignment.Center;
- tb.FontSize = 15;
- b.Child = tb;
- ElementLayer.SetEnvelope(b, new Envelope(new MapPoint(double.Parse(item.Latitute.ToString().Trim(), System.Globalization.CultureInfo.InvariantCulture), double.Parse(item.Longitute.ToString().Trim(), System.Globalization.CultureInfo.InvariantCulture))),new MapPoint(double.Parse(item.Latitute.ToString().Trim(), System.Globalization.CultureInfo.InvariantCulture), double.Parse(item.Longitute.ToString().Trim(), System.Globalization.CultureInfo.InvariantCulture))));
- elementLayer.Children.Add(b);
效果如下
提供第二种方法,使用TextSymbol的模板使用:
- <esri:TextSymbol x:Key="SWZTextSymbol">
- <esri:TextSymbol.ControlTemplate>
- <ControlTemplate>
- <Border Background="White" BorderBrush="Black" CornerRadius="5" BorderThickness="1,1,1,1">
- <TextBlock
- Width="70"
- FontSize="14"
- Text="{Binding Attributes[TextSWZMC]}" //注意这里的TextSWZMC,和后台代码中要一致
- Foreground="Blue"
- FontFamily="Microsoft YaHei"
- HorizontalAlignment="Center" />
- </Border>
- </ControlTemplate>
- </esri:TextSymbol.ControlTemplate>
- </esri:TextSymbol>
- TextSymbol textSymbol = LayoutRoot.Resources["SWZTextSymbol"] as TextSymbol; //这里和模板的Key名称要一致
- textSymbol.OffsetX = 15;
- textSymbol.OffsetY = -15;
- Graphic graphicText = new Graphic()
- {
- Geometry = mercator.FromGeographic(new MapPoint(double.Parse(item.Latitute.ToString().Trim(), System.Globalization.CultureInfo.InvariantCulture), double.Parse(item.Longitute.ToString().Trim(), System.Globalization.CultureInfo.InvariantCulture))),
- Symbol = textSymbol
- };
- graphicText.Attributes["TextSWZMC"] = item.ZDMC; //注意这里的TextSWZMC,和前台xaml代码中要一致
- graphicsLayer11.Graphics.Add(graphicText);
0 0
- ArcGIS API for Silverlight 之ElementLayer使用及TextSymbol的模板使用
- ArcGIS API for Silverlight 之ElementLayer使用及TextSymbol的模板使用
- ArcGIS API for Silverlight之ElementLayer使用注意点
- arcgis api for js中使用d3.js标注点的属性值代替textsymbol方式
- ArcGIS API for Silverlight代码中使用Template模板
- ArcGIS API for Silverlight 使用google地图
- ArcGIS API for Silverlight 动态添加点的同时,添加文字说明(利用TextSymbol添加多文字信息 )
- ArcGIS API for Silverlight 动态添加点的同时,添加文字说明(利用TextSymbol添加多文字信息 )
- 扩展ArcGIS API for Silverlight/WPF 中的TextSymbol支持角度标注
- 使用ArcGIS API for Silverlight + Visifire绘制地图统计图
- 使用ArcGIS API for Silverlight + Visifire绘制地图统计图
- ArcGIS API for Silverlight QueryTask 查询方法使用
- 使用ArcGIS API for Silverlight实现地形坡度在线分析
- 使用ArcGIS API for Silverlight + Visifire绘制地图统计图
- ArcGIS API for Silverlight开发入门(7):使用非AGS数据源的图层
- ArcGIS API for Silverlight开发入门(7):使用非AGS数据源的图层
- ArcGIS API for Silverlight开发入门(8):在程序中使用Virtual Earth的服务
- ArcGIS API for Silverlight开发入门(7):使用非AGS数据源的图层
- iOS开发---PDF文档详解
- UVA - 127 "Accordian" Patience
- 被“玩坏”了的打车软件
- BlockingQueue详解
- 脱离繁杂的地图开发,寻找最简单快捷的地图应用
- ArcGIS API for Silverlight 之ElementLayer使用及TextSymbol的模板使用
- Oracle 如何修改列的数据类型 (不积跬步,无以至千里)
- 比较全面的gdb调试命令
- DateTime总结
- 精巧好用的DelayQueue
- 视频播放相关资料。
- 正则表达式笔记 2 边界符中的单词边界 \b
- Ueditor一加载就报Uncaught TypeMismatchError: Failed to execute 'removeAttributeNode' on 'Element'
- mongodb——java封装(id自增,gridFS)