上一个项目使用mapXtreme开发的,这次的预研试了试supermap.两者都不算精通.最大的感觉就是mapXtreme的自定义功能开发方便.程序员可以很方便的介入后台处理.如点图后根据图元id,在其他属性表中查与此图元相关的属性.mapXtreme很方便可以直接查.而supermap分成了ajax和普通.net版本.处理各有不同.ajax版封装太死.我现在还没法干预.mapcontrol控件说明是有QueryCompleted事件,但是实际上根本不会触发. .net版本QueryCompleted事件可以触发,但是由于随便做个postback就要刷新整个网页,结果也很是不便.
来个具体的例子吧:
用户点地图上的一栋楼房,然后出个表显示这栋楼每个个房间的属性
mapxtreme的处理方法
1自定义一个工具,注册这个工具课通过javascript函数向后台请求(我要查1栋的房间属性)
2后台可以自定义响应函数.处理发回来的请求,然后返回处理结果(得到1栋的数据库id,然后查与这个id相关联的房间,xml返回房间集合)
3前台页面接收到处理结果后显示(通过xsl得到表单)
supermap(以ajaxDemo中的拉框选择为例吧)
1调用SetRectQueryAction();
2后台响应(Querying事件可以响应,但是你在其中自定义的东西会给覆盖.而QueryCompleted根本不响应)
3返回结果
第一步调用的SetRectQueryAction()在pages.js中
function SetRectQueryAction() {
//var layersInfo=GetQueryableFromLegend();
//var whereClause= GetWhereClause();
var layersInfo="ARCAREA";
var whereClause= GetWhereClause();