Bing Maps Silverlight Control支援使用者自定義繪制多邊形(Polygon)圖形,包括三角形、四邊形(矩形、菱形)、以及其他更多多邊形的圖形繪制。 多邊形說簡單點就是一個由多條邊組成的有一定規則的圖形,比如三角形就是由三條邊組成,我們要在地圖上繪制三角形需要知道三個頂點的坐标值(精度和緯度),如下代碼塊:
private void btnQuad_Click(object sender, RoutedEventArgs e) { MapPolygon polygon = new MapPolygon(); //填充顔色 polygon.Fill = new System.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() { new Location(34.9294740237661,107.506492025863), new Location(37.7814222409819, 105.979148275863), new Location(40.2865067209496, 109.219382650863), new Location(29.8104584489867, 115.943992025863)}; this.myMap.Children.Add(polygon); } 除了上面通過代碼動态繪制多邊形外,也可以通過Map控件進行配置,如下示例: 代碼 <m:Map CredentialsProvider="AkzZURoD0H2Sle6Nq_DE7pm7F3xOc8S3CjDTGNWkz1EFlJJkcwDKT1KcNcmYVINU" x:Name="myMap" Center="34.9294740237661,107.506492025863" ZoomLevel="4" NavigationVisibility="Collapsed"> <m:MapPolygon Locations="30,108 39,102 34.88,90.021" Fill="Red" StrokeThickness="5" Opacity="0.8"></m:MapPolygon> </m:Map> 如上圖中紅色的三角形就是通過初始化配置進去的,平時二次開發中使用動态建立相對較多。上面提到四邊形分菱形和矩形,Bing Maps 也提供了專門繪制矩形和菱形的類,比如矩形是Rectangle類。二次開發中經常會涉及到需要自己繪制一些圖形在地圖上,或者是在地圖上動态選擇繪制,了解繪制圖形的基本原理後實作這些都非常簡單,實際上就是給Map控件添加一個子元素,也可以了解為Silverlight的UIElement。 希望通過本文抛磚引玉,歡迎大家前來一起讨論交流,共同學習進步。
本文轉自 beniao 51CTO部落格,原文連結:http://blog.51cto.com/beniao/267221,如需轉載請自行聯系原作者