庆祝我的第一个WebGis完成-c#+MapXtreme2004
这是我的第一个WebGis,也是第一个网页。开发过程中,历尽几多艰难,几多酸甜苦辣。
1.开发平台
.net无疑已成为当今windows开发的唯一选择,所以开发平台的选择当然是选择.net,而且我也绝对不能忍
受在.net平台下调用com组件,所以纯.net组件MapXtreme2004当然令我爱不释手。这次开发的平台就是:c#+MapXtreme2004,由于时间的关系,而且不够熟悉MapXtreme2004的编程模型,这次没有用到数据库。但我今晚上进行了测试,用数据库好像一样简单。
下一步的开发,将是尽量把我们所掌握的各种思想尤其是面向对象数据库技术用尽来。所用到平台将是我称之为黄金搭档:c#+MapXtreme2004+Oracle
2.功能简介
功能比较简单,都是一个地理信息系统的最基本的功能,包括Zoom In, Zoom Out, Pan, Point Select, Radius Select, Rectangle Select, Distance Calculate, Layer Control, and 属性数据与空间数据互查。点击图查属性信息,以及根据属性查特定要素,高亮显示查询的要素。
3.相关技术
MapXtreme2004是一个纯.net组件,完全是服务端技术,所有的GIS功能都是通过服务器端完成,在浏览器上显示的仅仅是普通的图片(jpg,等),所以服务器端可以用几乎所有的.Net技术,用起来很方便,开发速度也很快。但由于时间及能力的原因,使得一些我认为可以在客户端用JavaScript实现的功能,也用服务器端回送技术,导致速度有点滞慢。
4.Bug与Update
(1) 对于LegacyText,我使用了好几种方法,还是没办法解决。在桌面程序中,对于LegacyText,可以通过f.Geometry is MapInfo.Geometry.LegacyText来进行判断,但是这句话在asp.net中不起作用,这算是MapXtreme本身的一个bug.
(2) Asp.net好像不能使用异常,(还有调试时不能设置断点),使得程序出错了,没法恢复。
(3) 由于不能判断什么时候出错,也不能在出错后补救,没办法防,也没办法治。留在以后自己慢慢诼磨,先到www.mapinfo.com上看能不能找到solution。
(4) 多用JavaScript技术,以增加客户端体验,提高运行速度。
5.屏幕截图
上传了几分钟还没有传上去,放弃ing