天天看點

【Silverlight】Bing Maps學習系列(五):繪制多邊形(Polygon)圖形

  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,如需轉載請自行聯系原作者

繼續閱讀