`
insertyou
  • 浏览: 876815 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

【Silverlight】Bing Maps学习系列(五):绘制多边形(Polygon)图形

阅读更多

  Bing Maps Silverlight Control支持用户自定义绘制多边形(Polygon)图形,包括三角形、四边形(矩形、菱形)、以及其他更多多边形的图形绘制。

多边形说简单点就是一个由多条边组成的有一定规则的图形,比如三角形就是由三条边组成,我们要在地图上绘制三角形需要知道三个顶点的坐标值(精度和纬度),如下代码块:

private void btnPolygon_Click(object sender, RoutedEventArgs e)
{
    MapPolygon polygon = new MapPolygon();
    polygon.Fill = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Red);
    polygon.StrokeThickness = 5;
    polygon.Opacity = 0.7;
    polygon.Locations = new LocationCollection() { 
                        new Location(34.9294740237661,107.506492025863), 
                        new Location(37.7814222409819, 105.979148275863), 
                        new Location(40.2865067209496, 109.219382650863) };
    this.myMap.Children.Add(polygon);
}
  MapPolygon就是Bing Maps提供的一个多边形类,如上代码块则实现了在地图上绘制一个三角形,主要就是利用三个点的坐标通过Locations进行定位绘制图层,效果如下:
        
  
  相应的如果是绘制四变形也就是多一个顶点的多边形而已,示意代码如下:
代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->privatevoidbtnQuad_Click(objectsender,RoutedEventArgse)
{
MapPolygonpolygon
=new
MapPolygon();
//填充颜色

polygon.Fill=newSystem.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Red);
polygon.Stroke
=new
System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Yellow);
polygon.StrokeThickness
=5
;
polygon.Opacity
=0.7
;
polygon.Locations
=new
LocationCollection(){
newLocation(34.9294740237661,107.506492025863
),
newLocation(37.7814222409819,105.979148275863
),
newLocation(40.2865067209496,109.219382650863
),
newLocation(29.8104584489867,115.943992025863
)};
this
.myMap.Children.Add(polygon);
}
      

  

  除了上面通过代码动态绘制多边形外,也可以通过Map控件进行配置,如下示例:

代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><m:MapCredentialsProvider="AkzZURoD0H2Sle6Nq_DE7pm7F3xOc8S3CjDTGNWkz1EFlJJkcwDKT1KcNcmYVINU"x:Name="myMap"
Center
="34.9294740237661,107.506492025863"ZoomLevel="4"NavigationVisibility="Collapsed">

<m:MapPolygonLocations="30,10839,10234.88,90.021"Fill="Red"StrokeThickness="5"Opacity="0.8"></m:MapPolygon>
</m:Map>
      

  如上图中红色的三角形就是通过初始化配置进去的,平时二次开发中使用动态创建相对较多。上面提到四边形分菱形和矩形,Bing Maps 也提供了专门绘制矩形和菱形的类,比如矩形是Rectangle类。二次开发中经常会涉及到需要自己绘制一些图形在地图上,或者是在地图上动态选择绘制,了解绘制图形的基本原理后实现这些都非常简单,实际上就是给Map控件添加一个子元素,也可以理解为Silverlight的UIElement。

  希望通过本文抛砖引玉,欢迎大家前来一起讨论交流,共同学习进步。

分享到:
评论

相关推荐

    百度地图绘制多边形几何图形并保存坐标转成覆盖物

    本话题聚焦于如何使用百度地图API来绘制多边形几何图形,并将这些图形的坐标保存,以便后续转化为地图上的覆盖物。下面将详细阐述这一过程。 首先,我们要了解百度地图API的核心功能。百度地图API提供了丰富的地图...

    画多边形_多边形绘制_mfc鼠标点击绘制多边形_源码

    在MFC(Microsoft Foundation Classes)框架中,实现鼠标点击绘制多边形的功能是一项常见的图形用户界面编程任务。本文将深入探讨这一技术,包括其基本原理、实现步骤以及关键代码片段。 首先,我们要理解多边形的...

    Siverlight for arcgis环境下polygon和polyline两种方式绘制多边形

    通过查看和运行这些文件,开发者可以学习如何在实际项目中实现多边形和线条的绘制。 在实际应用中,了解如何有效地绘制和管理Polygon和Polyline对于开发复杂的GIS应用至关重要。例如,可以结合使用这两者来创建复杂...

    【OpenGL】十八、OpenGL 绘制多边形 ( 绘制 GL_POLYGON 模式多边形 ).zip

    【OpenGL】十八、OpenGL 绘制多边形 ( 绘制 GL_POLYGON 模式多边形 ) https://hanshuliang.blog.csdn.net/article/details/112855351 博客源码

    多边形合并:使用 multiPolygon, polygon 方法进行合并

    多边形合并:使用 multiPolygon, polygon 方法进行合并,具体合并可以参考文章如下:https://zhuhukang.blog.csdn.net/article/details/133716577

    计算机图形学 画多边形

    总的来说,通过这个实验,你将能够掌握基本的多边形绘制技术,为后续的计算机图形学学习打下坚实的基础。无论是游戏开发、可视化应用,还是科学计算,计算机图形学都是不可或缺的一部分,而画多边形是理解和实践这个...

    QT通过创建一个DrawControl类可以绘制不同的图形项包括矩形,直线,多边形等

    这是一个QT的demo,通过创建一个绘画控制器可以绘制出不同的图形项包括矩形QGraphicsRectItem, 直线QGraphicsLineItem, 多边形QGraphicsPolygonItem等。 QT版本:5.15.2 VS版本:2019 1、创建一个drawControl类...

    C#018绘制多边形

    在C#编程中,绘制多边形是一项基本的图形处理任务,广泛应用于游戏开发、图形界面设计、数据可视化等多个领域。本教程将深入探讨如何在C#中利用GDI+(Graphics Device Interface Plus)库来实现多边形的绘制。 首先...

    多边形三角划分 Polygon c++源码

    总结来说,“多边形三角划分 Polygon c++源码”项目涉及了计算机图形学中的关键算法,提供了C++实现扫描线算法的实例。通过学习和理解这个项目,开发者可以增强对3D图形处理的理解,并能应用于实际的图形应用开发中...

    asp.net 绘制多边形

    在ASP.NET中绘制多边形是一项实用的...通过"Example068-绘制多边形"这个资源,你可能会学习到如何在ASP.NET环境中实现上述技术,从而在Web应用中创建交互式的多边形图形。这将帮助你提升在Web开发中的图形处理能力。

    C#绘制多边形

    在计算机图形学中,多边形通常是用直线段连接的一系列顶点。 在C#中,我们通常使用GDI+(Graphics Device Interface Plus)库来实现图形绘制。GDI+是.NET Framework的一部分,提供了丰富的图形绘制功能,包括线条、...

    绘制多边形

    在Qt框架中,绘制图形是通过QPainter类提供的各种绘图函数来实现的。"绘制多边形"这个主题涉及到的主要知识点包括QPainter类的使用、QPolygon类以及自定义事件处理。以下是对这些概念的详细说明: 1. **QPainter类*...

    Arcgis api for javascript(4.5版本) - 点击多边形(Polygon)并高亮显示

    综上所述,"ArcGIS API for JavaScript(4.5版本) - 点击多边形(Polygon)并高亮显示"涉及到的关键技术包括地图事件监听、几何对象的碰撞检测、图层管理和图形样式控制。通过熟练掌握这些知识点,开发者可以构建出交互...

    C# 绘制多边形

    在C#编程中,绘制多边形是一项基本的图形操作,常常用于开发各种GUI应用程序,如游戏、数据可视化工具或自定义控件等。本文将深入探讨如何在C#环境中利用GDI+(Graphics Device Interface Plus)库来实现多边形的...

    交互式绘制多边形

    在IT领域,交互式绘制多边形是一种常见的计算机图形学技术,主要应用于各种软件和游戏开发中,使得用户能够实时地在屏幕上构建和修改多边形形状。在MFC(Microsoft Foundation Classes)框架下实现这样的功能,需要...

    高德地图绘制多边形.zip

    绘制多边形的关键在于`Polygon`对象,这是高德地图API中的一个类,用于表示地图上的多边形覆盖物。开发者需要创建一个`PolygonOptions`对象,设置多边形的顶点坐标、颜色、透明度等属性,然后调用`Map`对象的`...

    计算两个多边形的重叠面积(C++)

    写一个C++程序,计算两个多边形的重叠面积 多边形class定义如下: class Polygon { public: Polygon(float* polygon, int vertex) : polygon(polygon), vertex(vertex) {}; private: float* polygon; // 坐标形式...

    计算机图形学-画多边形

    8. **优化**:为了提高性能,图形库和引擎会使用各种优化技术,如背面剔除(Backface Culling)去除不可见面,多边形合并(Polygon Clipping)减少渲染对象,以及GPU硬件加速等。 在实际应用中,如游戏开发,通常...

    canva绘制多边形.zip

    在提供的压缩包文件中,"canva绘制多边形.zip"应该包含了实现这个功能的完整代码,你可以解压并查看,以便更深入地理解和学习这个过程。这个例子不仅展示了Canvas的绘图能力,还涉及到了事件监听、坐标变换等前端...

    ps3.zip_c#绘制多边形_ps3_ps3绘制草丛

    在本文中,我们将深入探讨如何使用C#编程语言在PS3平台上进行多边形的绘制以及实现交互式功能,如动态调整多边形形状。首先,我们要了解C#中的图形绘制基础,然后介绍如何在PS3系统上实现这些功能。 C#是一种广泛...

Global site tag (gtag.js) - Google Analytics