发布连接动态空间的服务
可选数据库,矢量数据(shp)文件夹,栅格数据(tif)文件夹。
下面示例的是PostgreSQL数据库。
这里的workSpaceId是JS调用的关键属性。
前端代码
API版本4.16
data Source官方配置文档参考Data Source object
// 返回的是一个引用的mapImageLayer
return arcgisFuns.mapImageLayer({
id: 'mapImageLayer_test',
url,
sublayers: [
{
title: 'datalayer',
id: 0 ,
visible: true,
source: {
type: 'data-layer',
dataSource: {
type: 'join-table',
leftTableSource: {
type: 'map-layer',
mapLayerId: 0,
},
rightTableSource: {
type: 'data-layer',
dataSource: {
type: 'table',
workspaceId: 'test', // 连接的workSpaceId
dataSourceName: 'test_table_1', // 连接的数据库里的表/视图名
},
},
leftTableKey: 'code', // 用于连接的图层里的字段
rightTableKey: 'code_in_table', // 表里的字段
joinType: 'left-inner-join', // 连接类型
},
},
},
],
});
// 查询动态空间的信息,这里没用query。注意这里有些属性从横杠连接变为驼峰命名
return axios.get(url, {
params: {
f: 'pjson',
layer: {
source: {
dataSource: {
type: 'joinTable',
leftTableSource: {
type: 'mapLayer',
mapLayerId: 0,
},
rightTableSource: {
type: 'dataLayer',
dataSource: {
type: 'table',
workspaceId: 'test',
dataSourceName: 'test_table_1',
},
},
leftTableKey: 'code',
rightTableKey: 'code_in_table',
joinType: 'esriLeftInnerJoin',
},
type: 'dataLayer',
},
},
outFields: '*',
returnGeometry: false,
where: '1 = 1',
},
});