silverlight for arcgis开发笔记

第一天接触地理信息开发,用silverlight做,平台是arcgis 9.3,特记笔记如下:

引用相应命名空间后,xaml里建立一个Map对象,里面是分成不同的层的,通常的数据都在Tiled层里,少数在Dynamic里。

Titled层是带缓存的,Dynamic层是实时从数据库里读取的,所以速度会很慢(地理信息组如是说)。

每个层都需要引用服务的地址,比如:

http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer

通过这个地址可以看到这个地图服务下有哪些层,这些层都是什么,以及地图的边界坐标等信息。

地图也可以设置默认的显示区域,指定Extend坐标属性就可以。默认是fit screen的。

获取鼠标点的坐标不一定要通过GEOCODEServer,可以在地图控件里获取,通过Map对象里的MouseClick事件,可以获得当前鼠标点的坐标信息。由于有空间空间参考的概念(目前还不是很明确这个概念),所以获取出的坐标点往往不是实际的经度纬度信息,这个与国外提供的地图服务不同。

查询任务可以获取返回区域的信息。查询任务通常要指定查询的是当前地图下的哪个层,在服务地址里斜杠加层的引用就可以。某些层查询会抛异常,通常省界这类层支持空间查询。

演示中的添加XAML到地图中目前来看还是有限制,不是所有XAML对象都可以加到地图中,只有esri命名空间下的几个对象可以。

ESRI开发包在VS2008下偶尔会死掉,目前使用的server2003以及vista操作系统下都会有这个问题,尚不清楚问题原因。

有些时候需要禁止IDE验证XAML。偶尔还会有一个Runtime序列化的异常,不太确定如何出现的,不过在Blend里调试好之后,再回到VS里运行就可以通过了。每次调试都需要这样。

总结:

Silverlightarcgis开发包开发出的效果还是很不错的,只是很多莫名其妙的错误让人很恼火。希望正式版中能健全一些,不过,希望不用等到silverlight 3出来之后吧。

posted @ 2009-05-18 17:25  哥本哈士奇(aspnetx)  阅读(1189)  评论(3编辑  收藏  举报