地理信息系统方面的开发源码
源代码在线查看: supermap.is.querymanager.js
//==========================================================================
// SuperMap IS 客户端程序,版权所有,北京超图地理信息技术有限公司,2000-2006。
// 本程序只能在有效的授权许可下使用。未经许可,不得以任何手段擅自使用或传播。
// 作者: SuperMap IS Team
// 修改:
// 文件名: SuperMap.IS.QueryManager.js
// 功能: AjaxMap 查询功能
// 最后修改时间: 2006-05-23
//==========================================================================
SuperMap.IS.QueryManager=function(mapHandler,mapName){
var queryUrl=mapHandler+"query.ashx";
var onComplete=null;
var onError=null;
// 用于注册事件处理函数。
// onComplete, 原型参数: onComplete(resultSet);
// onError, 原型参数: onError(responseText);
function _RegisterHandler(onQueryComplete, onQueryError){
onComplete=onQueryComplete;
onError=onQueryError;
}
this.RegisterHandler=_RegisterHandler;
function _QueryBase(methodName, paramNames, paramValues){
var xhr=_GetXmlHttpRequest();
xhr.open("post", queryUrl+"?map="+encodeURI(mapName)+"&method="+methodName+"&t="+new Date().getTime(), true);
/* set the Content-Type header for a POST request */
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange=function(){
var readyState=xhr.readyState;
if (readyState==4){
var status=xhr.status;
if(status==200){
var resultSetJ=eval('('+xhr.responseText+')');
var resultSet=new SuperMap.IS.ResultSet();
resultSet.FromJSON(resultSetJ);
if(onComplete){onComplete(resultSet);resultSet=null;}
}
else{
if(onError){onError(xhr.responseText);}
// alert("error:"+xhr.responseText);
}
/* Avoid memory leak in MSIE: clean up the oncomplete event handler */
xhr.onreadystatechange = function(){};
xhr=null;
}
};
var paramString=null;
if(paramNames&¶mNames.length>0){
var params=new Array();
while(paramNames&¶mNames.length>0)
{
params.push(paramNames.shift()+"="+_ToJSON(paramValues.shift()));
}
paramString = params.join("&");
}
xhr.send(paramString);
};
this.QueryByPoint=function(point, tolerance, queryParam){
_QueryBase("QueryByPoint", ["point","tolerance","queryParam"], [point,tolerance,queryParam]);
};
this.QueryBySql=function(queryParam){
_QueryBase("QueryBySql", ["queryParam"], [queryParam]);
};
};