var map, local, baseLayer, layersID, themeLayer,
host = document.location.toString().match(/file:\/\//)?"http://localhost:8090":'http://' + document.location.host,
url=host+"/iserver/services/map-test/rest/maps/map";
function queryBySQL() {
// 设置关联的外部数据库信息,alias表示数据库别名
var dc = new SuperMap.REST.DatasourceConnectionInfo({
dataBase: "yunzhuli_test",//数据库名
server: "12.33.19.180",//服务器名
user: "sa",//用户名
password: "******",//密码
driver: "SQL Server",//数据库驱动名称
connect: true,//是否自动连接
OpenLinkTable: false,
alias: "yunzhuli_test",//数据源别名
engineType: SuperMap.REST.EngineType.SQLPLUS,//数据源连接引擎类型ORACLEPLUS
readOnly: false,//是否以只读方式打开数据源
exclusive: false//是否以独立方式打开数据源
});
// 设置关联信息
var linkItem = new SuperMap.REST.LinkItem({
datasourceConnectionInfo: dc,//关联外部数据源信息
foreignKeys: ["AD_CODE"],//主空间数据集外键
foreignTable: "*********",//关联外部属性表的名称
linkFields: ["dbqk_id"],//外部属性表的需要保留字段名称
name: "link",//此关联信息对象的名称
primatryKeys: ["prov_code"],//需要关联外部属性表的主键
});
// 设置查询参数,在查询参数中添加linkItem关联条件信息
var queryParam, queryBySQLParams, queryBySQLService;
queryParam = new SuperMap.REST.FilterParameter({
name: "省面@User_Polygon",//数据集名称@数据源别名
fields: ["dbqk_id"],//查询字段数组
attributeFilter: "dbqk_id<6",//查询条件
linkItems: [linkItem]
}),
//console.log(1);断点
queryBySQLParams = new SuperMap.REST.QueryBySQLParameters({
queryParams: [queryParam]
}),
//console.log(2);断点
queryBySQLService = new SuperMap.REST.QueryBySQLService(url, {
eventListeners: {
"processCompleted": processCompleted,
"processFailed": processFailed
}
});
queryBySQLService.processAsync(queryBySQLParams);
}
function processCompleted(queryEventArgs) {//todo
console.log(queryEventArgs);
if(queryEventArgs){
console.log(queryEventArgs);
//addThemeRange();
}
}
function processFailed(e) {//todo
alert("错误信息");
}
queryBySQL();
VM72:1 Uncaught TypeError: Cannot read property 'appendChild' of null
/********
******我查了一遍还是报这个错误,一般是由什么引起的呢 是我的那个参数设置错了吗?
*name: "省面@User_Polygon",//数据集名称@数据源别名 这个参数是不是这样设置的,ideskTop中的数****据源是user_polygon 而 数据是 省面
*********/