Silverlight 結合 ArcGis 使用inforwindow

摘要:Silverlight 結合 ArcGis 使用inforwindow

 

也許有些人不知道甚麼事inforwindow,簡單來說就是資訊窗,小馬這cut了一張google map
 
圖給大家參考,我們就是要用silverlight 結合 ArcGis做出如下功能,請看這邊就出現了我們
 
要的資訊和圖片那我們我該如何做到這個呢,ArcGis 提供了一個Toolcontrol,請你跟我這樣做
 
 
 
畫面上的標點,之前文章有說過,就不多贅述,我們看資訊框這個東西吧! 以下是我的完成畫面
 
 
 
 
畫面如下
 
 
程式碼如下
 

'Create by maggiore    2012/5/10 for dotblog
    Public Sub New()

        InitializeComponent()

        Dim g_graphic_airport As GraphicsLayer '宣告一個圖層物件變數

        '將畫面上的圖層丟給圖層物件
        g_graphic_airport = TryCast(MyMap.Layers("graphic_airport"), GraphicsLayer)

        Dim pGraphic As Graphic = New Graphic() 'Imports ESRI.ArcGIS.Client

        Dim Point As New MapPoint 'Imports ESRI.ArcGIS.Client.Geometry

        '假設我把點畫在地圖上桃園機場的位置
        Point.X = 121.23  '經度
        Point.Y = 25.08   '緯度

        pGraphic.Attributes("infor") = "337台灣 桃園縣大園鄉航站南路9號"

        pGraphic.Geometry = Point   '把經緯度給給Graphic的Geometry屬性
        pGraphic.Symbol = point_red '把點給Graphic的Symbol屬性
        g_graphic_airport.Graphics.Add(pGraphic) '把Graphic加入圖層中




        '圖層Click 委派開啟inforwindow
        AddHandler g_graphic_airport.MouseLeftButtonDown, Sub(s As Object, e As GraphicMouseButtonEventArgs)

                                                              MyInfoWindow_ExceptedLine.Anchor = CType(e.Graphic.Geometry, MapPoint)

                                                              MyInfoWindow_ExceptedLine.Content = e.Graphic.Attributes

                                                              MyInfoWindow_ExceptedLine.IsOpen = True

                                                          End Sub

    End Sub

 

以上的介紹,只要活用,基本上都已經夠一般開發者使用了,之後來來去去都是哪幾招  JS 、AJAX 、WCF。

 

最後稍微美工一下,小馬把之前的功能綜合一下的成品如下,你可以畫公車路線、飛機路線 

颱風路線、野放動物棲息地遷移路線 、管線路線(換張底圖)  whatever  你想得到都OK

 

 

 

另外為什麼我沒有寫到Silverlight 用WCF、Entity Data Modal  讀取資料的文章呢! 因為WCF

 

有個人寫得太清楚了,大家可以過去看看,而ADO.net Entity Data Modal實在是因為我用不

 

太習慣,最後完成後決定資料鏈結層的部分全改為WCF。

 

Silverlight WCF :

http://www.dotblogs.com.tw/lolota/archive/2008/12/10/6329.aspx

 

PS. 以上文章是用VS 2010 + Silverlight 4.0 開發