原文 http://www.dotblogs.com.tw/justforgood/archive/2012/05/10/72089.aspx
也许有些人不知道什么事inforwindow,简单来说就是资讯窗,小马这cut了一张google map
图给大家参考,我们就是要用silverlight 结合ArcGis做出如下功能,请看这边就出现了我们
要的资讯和图片那我们我该如何做到这个呢,ArcGis 提供了一个Toolcontrol,请你跟我这样做
画面上的标点,之前文章有说过,就不多赘述,我们看资讯框这个东西吧! 以下是我的完成画面
画面如下
程式码如下
01 | 'Create by maggiore 2012/5/10 for dotblog |
06 | Dim g_graphic_airport As GraphicsLayer '宣告一个图层物件变数 |
09 | g_graphic_airport = TryCast(MyMap.Layers( "graphic_airport" ), GraphicsLayer) |
11 | Dim pGraphic As Graphic = New Graphic() 'Imports ESRI.ArcGIS.Client |
13 | Dim Point As New MapPoint 'Imports ESRI.ArcGIS.Client.Geometry |
19 | pGraphic.Attributes( "infor" ) = "337台湾桃园县大园乡航站南路9号" |
21 | pGraphic.Geometry = Point '把经纬度给给Graphic的Geometry属性 |
22 | pGraphic.Symbol = point_red '把点给Graphic的Symbol属性 |
23 | g_graphic_airport.Graphics.Add(pGraphic) '把Graphic加入图层中 |
28 | '图层Click 委派开启inforwindow |
29 | AddHandler g_graphic_airport.MouseLeftButtonDown, Sub(s As Object, e As GraphicMouseButtonEventArgs) |
31 | MyInfoWindow_ExceptedLine.Anchor = CType(e.Graphic.Geometry, MapPoint) |
33 | MyInfoWindow_ExceptedLine.Content = e.Graphic.Attributes |
35 | MyInfoWindow_ExceptedLine.IsOpen = True |
以上的介绍,只要活用,基本上都已经够一般开发者使用了,之后来来去去都是哪几招JS 、AJAX 、WCF。
最后稍微美工一下,小马把之前的功能综合一下的成品如下,你可以画公车路线、飞机路线
台风路线、野放动物栖息地迁移路线、管线路线(换张底图) whatever 你想得到都OK
![](http://files.dotblogs.com.tw/justforgood/1205/2012510161620573.png)
另外为什么我没有写到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 开发