原文 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
另外为什么我没有写到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 开发
时间: 2024-09-30 08:30:13