摘要: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 開發