您的位置:首页 > Web前端 > JavaScript

多级部署下的SuperMap iServer 2.0 JS 聚合功能(一)

2009-12-04 15:09 295 查看
话说现在做GIS项目用SuperMap iServer的逐渐增多,而SuperMap iServer具备“服务聚合”的能力,这对于我们的实际应用带来了新的价值,所以有必要研究研究。其实用过ArcGIS Server的朋友或许对于数据/服务熔合有些印象,就是将不同来源的数据/服务mashup在一起来显示,不过现在由于一些大型系统的建设来说,通常是两级/三级部署应用,如图。

SuperMap.Map.js

_editBase:function(mapName, methodName, paramNames, paramValues, onComplete, onError, userContext){
......
var lockID = new Date().getTime().toString() + Math.floor(Math.random( )*1000000000);
paramNames.push("lockID");
paramValues.push(lockID);
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
var tiledMapName;
var tiledUrl;
if(paramValues[3] != null && paramValues[3].length > 0){
var customParam = paramValues[3];
if(customParam[0] == "TiledMapLayer"){
tiledMapName = customParam[1];
tiledUrl = customParam[2];
SuperMap.Committer.commitAjax(tiledMapName, tiledUrl, methodName, paramNames, paramValues, false, onCompleteArray, onError, userContext);
}else{
SuperMap.Committer.commitAjax(mapName, this.queryUrl, methodName, paramNames, paramValues, false, onCompleteArray, onError, userContext);
}
}
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////

ok,这样编辑功能也完成了。

3、其他说明

(1)功能聚合可以做到查询系列、编辑系统和专题图系列,这里没有列出专题图,因为我也没有考虑好究竟怎样实现比较理想;

(2)关于功能共享(数据互操作)的安全性,这是系统建设必须要考虑的,上面实现的代码没有包含权限管理的内容,建议采用SuperMap提供的扩展Map机制,使用Session来进行权限管理。

(3)文中的代码没有详细的注释,也没有仔细整理过,是直接贴上来的,可能存在漏洞,请谅解。

以上就是利用SuperMap iServer Java 2.0 JS SDK做的一些服务聚合,功能共享的工作,供参考。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: