# new FeatureServer(options)
è¦ç´ æœåŠ¡
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
options |
Object | æž„é€ å‚æ•° |
url |
String | æœåŠ¡åŸºåœ°å€ï¼Œæ”¯æŒigs2.0çš„è¦ç´ æœåŠ¡ã€çŸ¢é‡å›¾å±‚çš„è¦ç´ 查询以åŠçŸ¢é‡æ–‡æ¡£çš„è¦ç´ 查询 |
示例
//igs2.0çš„è¦ç´ æœåŠ¡
// ES5引入方å¼
const { FeatureServer } = zondy.service
// ES6引入方å¼
import { FeatureServer } from "@mapgis/webclient-common"
const featureServer = new FeatureServer({
//æœåŠ¡åœ°å€ï¼Œfolder为IGSçš„æœåŠ¡ç®¡ç†ä¸çš„æ–‡ä»¶å¤¹å¤¹å称,serviceName为å‘布的æœåŠ¡å
url: 'http://192.168.88.12:8089/igs/rest/services/{folder}/{serviceName}/FeatureServer'
})
//基于矢é‡å›¾å±‚çš„è¦ç´ 查询
const featureServer = new FeatureServer({
//æœåŠ¡åœ°å€ï¼ŒIGS1.0地å€
url: 'http://localhost:6163/igs/rest/mrfs/layer'
//æœåŠ¡åœ°å€ï¼ŒIGS2.0地å€
//url: 'http://localhost:8089/igs/rest/mrfs/layer'
})
//åŸºäºŽçŸ¢é‡æ–‡æ¡£çš„è¦ç´ 查询
const featureServer = new FeatureServer({
//æœåŠ¡åœ°å€ï¼ŒIGS1.0地å€ï¼ŒserviceName为å‘布的æœåŠ¡å
url: 'http://localhost:6163/igs/rest/mrfs/docs/{serviceName}'
//æœåŠ¡åœ°å€ï¼ŒIGS2.0地å€ï¼ŒserviceName为å‘布的æœåŠ¡å
//url: 'http://localhost:8089/igs/rest/mrfs/docs/{serviceName}'
})
继承关系
æˆå‘˜å˜é‡
æˆå‘˜å˜é‡æ¦‚è¿°
åç§° | 类型 | æè¿° |
---|---|---|
clientId |
Boolean
|
|
enableGlobeFetch |
Boolean
|
|
headers |
String
|
|
requestInterceptor |
function
|
|
requestTimeout |
String
|
|
responseInterceptor |
function
|
|
tokenAttachType |
TokenAttachType
|
|
tokenKey |
String
|
|
tokenValue |
String
|
|
url |
String
|
|
æˆå‘˜å˜é‡è¯¦æƒ…
# enableGlobeFetch
是å¦ä½¿ç”¨ç¡®æ®å”¯ä¸€çš„fetch对象,默认为true,当设为falseæ—¶ï¼Œä¼šä½¿ç”¨è‡ªå·±ç§æœ‰çš„fetch对象,所有的请求设置ä¸ä¼šå½±å“全局
- Inherited From:
示例
//设置请求基地å€
// ES5引入方å¼
const { BaseServer } = zondy.service
// ES6引入方å¼
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
//请求基地å€
url: 'ä½ çš„URL',
//ä½¿ç”¨ç§æœ‰çš„fetch对象
enableGlobeFetch: false,
//æ¤æ—¶è®¾ç½®tokenç‰å±žæ€§ï¼Œä¸ä¼šå½±å“全局的fetch对象
tokenValue: 'ä½ çš„token'
});
//ç»§ç»ä½¿ç”¨å…¨å±€fetch
BaseServer.enableGlobeFetch = true;
# headers
è¯·æ±‚å¤´å‚æ•°
- Inherited From:
示例
//è®¾ç½®è¯·æ±‚å¤´å‚æ•°
// ES5引入方å¼
const { BaseServer } = zondy.service
// ES6引入方å¼
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
//请求头
headers: {
//设置Content-Type为multipart/form-data
'Content-Type': 'multipart/form-data',
//设置token
'token': 'ä½ çš„token'
}
});
//动æ€ä¿®æ”¹
BaseServer.headers.token = 'æ–°token';
# requestInterceptor
请求å‘逿‹¦æˆªå™¨
- Inherited From:
示例
//设置拦截器,任何一个继承自BaseServer的对象都å¯ä»¥è®¾ç½®ï¼Œå…¨å±€å”¯ä¸€
// ES5引入方å¼
const { BaseServer,RequestInterceptor } = zondy.service
// ES6引入方å¼
import { BaseServer,RequestInterceptor } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
//设置请求å‘逿‹¦æˆªå™¨
requestInterceptor: new RequestInterceptor({
//请求å‘é€å‰è¿›è¡Œç»Ÿä¸€å¤„ç†
before: function(config) {
//æ‰§è¡Œä½ çš„ä¸šåŠ¡é€»è¾‘
//注æ„必须显示返回config对象,如果返回为空,则ä¸å‘é€è¯·æ±‚
return config;
},
//请求å‘é€å¤±è´¥æ—¶è¿›è¡Œç»Ÿä¸€å¤„ç†
failure: function(error) {
//æ‰§è¡Œä½ çš„ä¸šåŠ¡é€»è¾‘
}
})
});
//动æ€ä¿®æ”¹
BaseServer.requestInterceptor.before = function() {};
# requestTimeout
请求超时时间,默认45000ms,å³45s
- Inherited From:
示例
//设置超时时间
//åˆå§‹åŒ–AddressServeræœåŠ¡å¯¹è±¡
// ES5引入方å¼
const { BaseServer } = zondy.service
// ES6引入方å¼
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
//è¶…æ—¶æ—¶é—´
requestTimeout: 2000
});
//动æ€ä¿®æ”¹
BaseServer.requestTimeout = 3000;
# responseInterceptor
请求å“应拦截器
- Inherited From:
示例
//设置拦截器,任何一个继承自BaseServer的对象都å¯ä»¥è®¾ç½®ï¼Œå…¨å±€å”¯ä¸€
// ES5引入方å¼
const { BaseServer,ResponseInterceptor } = zondy.service
// ES6引入方å¼
import { BaseServer,ResponseInterceptor } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
//设置请求å“应拦截器
responseInterceptor: new ResponseInterceptor({
//执行请求å“应,接å£è°ƒç”¨æˆåŠŸæ—¶ä¼šæ‰§è¡Œçš„å›žè°ƒ
success: function(result) {
//æ‰§è¡Œä½ çš„ä¸šåŠ¡é€»è¾‘
//注æ„必须显示返回resultå¯¹è±¡ï¼Œå¦‚æžœè¿”å›žä¸ºç©ºï¼Œåˆ™ä¸æ‰§è¡Œè¯·æ±‚å“应æˆåŠŸå›žè°ƒ
return result;
},
//请求å“应æˆåŠŸï¼ŒæŽ¥å£è°ƒç”¨å¤±è´¥æ—¶ä¼šæ‰§è¡Œçš„函数
failure: function(result) {
//æ‰§è¡Œä½ çš„ä¸šåŠ¡é€»è¾‘
//注æ„必须显示返回resultå¯¹è±¡ï¼Œå¦‚æžœè¿”å›žä¸ºç©ºï¼Œåˆ™ä¸æ‰§è¡Œå›žè°ƒéŸ©å¼
return result;
}
})
});
//动æ€ä¿®æ”¹
BaseServer.responseInterceptor.success = function() {};
# tokenAttachType
指定tokené™„åŠ åˆ°ä½•å¤„
- Inherited From:
示例
//设置token值
// ES5引入方å¼
const { BaseServer } = zondy.service
const { TokenAttachType } = zondy.enum
// ES6引入方å¼
import { BaseServer,TokenAttachType } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
//tokenå
tokenValue: 'ä½ çš„token值',
//token值
tokenValue: 'ä½ çš„token值',
//指定tokené™„åŠ åˆ°urlåŽé¢
tokenAttachType: TokenAttachType.url
});
//动æ€ä¿®æ”¹
BaseServer.tokenAttachType = TokenAttachType.header;
# tokenKey
tokenå
- Inherited From:
示例
//设置tokenå
// ES5引入方å¼
const { BaseServer } = zondy.service
// ES6引入方å¼
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
//tokenå
tokenKey: 'ä½ çš„tokenKey'
});
//动æ€ä¿®æ”¹
BaseServer.tokenKey = 'æ–°tokenKey';
# tokenValue
token值
- Inherited From:
示例
//设置token值
// ES5引入方å¼
const { BaseServer } = zondy.service
// ES6引入方å¼
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
//token值
tokenValue: 'ä½ çš„token值'
});
//动æ€ä¿®æ”¹
BaseServer.tokenValue = '新token值';
# url
æœåŠ¡åŸºåœ°å€
- Inherited From:
示例
//设置请求基地å€
// ES5引入方å¼
const { BaseServer } = zondy.service
// ES6引入方å¼
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
//请求基地å€
url: 'ä½ çš„URL'
});
//动æ€ä¿®æ”¹
BaseServer.url = 'æ–°URL';
方法
方法概述
åç§° | 返回值类型 | æè¿° |
---|---|---|
addFeature |
Promise.<Object>
|
|
deleteFeature |
Promise.<Object>
|
|
queryFeatureById |
Promise.<Object>
|
|
queryFeatures |
Promise.<Object>
|
|
queryFeaturesInLayers |
Promise.<Object>
|
|
queryLayerInfo |
Promise.<Object>
|
|
queryServerInfo |
|
|
updateFeature |
Promise.<Object>
|
|
方法详情
# addFeature(options, GDBPOptions, DocOptions)
指定图层的è¦ç´ æ·»åŠ ï¼Œæ”¯æŒIGS2.0çš„è¦ç´ æ·»åŠ æœåŠ¡ã€åŸºäºŽçŸ¢é‡å›¾å±‚çš„è¦ç´ æ·»åŠ æœåС以åŠåŸºäºŽçŸ¢é‡æ–‡æ¡£çš„è¦ç´ æ·»åŠ
傿•°
åç§° | 类型 | 默认值 | æè¿° |
---|---|---|---|
options |
指定图层的è¦ç´ æ·»åŠ å‚æ•°ï¼ŒIGS2.0傿•° |
||
layerId |
String | 0 | 图层idï¼Œå¿…ä¼ |
method |
String | FetchMethod.get | 请求类型 |
success |
function | 查询æˆåŠŸå›žè°ƒå‡½æ•°ï¼Œè‹¥ä½¿ç”¨Promiseæ–¹å¼åˆ™ä¸å¿…填写 |
|
failure |
function | 查询失败回调函数,若使用Promiseæ–¹å¼åˆ™ä¸å¿…填写 |
|
features |
Array | [] | è¦æ·»åŠ çš„è¦ç´ é›†åˆ |
GDBPOptions |
基于矢é‡å›¾å±‚的新增è¦ç´ 傿•° |
||
gdbp |
String | gdbpçš„url,仅支æŒå•个数æ®åº“çš„è¦ç´ æ–°å¢žï¼Œå¿…ä¼ |
|
featureSet |
Object | è¦æ›´æ–°çš„è¦ç´ 集åˆï¼Œæ³¨æ„是igs1.0çš„æ ¼å¼ï¼Œå¿…ä¼ |
|
DocOptions |
åŸºäºŽçŸ¢é‡æ–‡æ¡£çš„æ–°å¢žè¦ç´ 傿•° |
||
mapIndex |
String | 地图在文档下的åºå·ï¼Œå¿…ä¼ |
|
featureSet |
Object | è¦æ›´æ–°çš„è¦ç´ 集åˆï¼Œæ³¨æ„是igs1.0çš„æ ¼å¼ï¼Œå¿…ä¼ |
æ·»åŠ è¦ç´ 结果
示例
IGS2.0çš„è¦ç´ 新增示例
// 创建一个线è¦ç´
// ES5引入方å¼
const { Feature } = zondy
// ES6引入方å¼
import { Feature } from "@mapgis/webclient-common"
const lineString = new Feature({
//å¯å¡«ç©ºæˆ–者和数æ®åº“ä¸çš„表结构一一对应
attributes: {},
//å¯å¡«ç©ºæˆ–者和系统库ä¸çš„æ ·å¼ä¸€ä¸€å¯¹åº”
styleInfo: {},
//è®¾ç½®å‡ ä½•
geometry: new zondy.geometry.LineString({
coordinates: [
[110.74, 32.41],
[112.89, 31.06],
[110.15, 30.16]
]
})
})
// æ·»åŠ è¦ç´
featureServer.addFeature({
// 指定图层id
layerId: '0',
// è¦æ·»åŠ çš„è¦ç´ ,å¯ä»¥æ·»åŠ å¤šä¸ªè¦ç´
features: [lineString]
})
.then((res) => {
//æˆåŠŸå›žè°ƒå‡½æ•°
console.log('æ·»åŠ è¦ç´ : ', res)
})
.catch((res) => {
//失败回调函数
console.log('æ·»åŠ è¦ç´ 失败: ', res)
})
基于矢é‡å›¾å±‚çš„è¦ç´ 新增示例
// åˆå§‹åŒ–èµ„æºæœåŠ¡
// ES5引入方å¼
const { ResourceServer} = zondy.service
const { Point} = zondy.geometry
const { Feature } = zondy
// ES6引入方å¼
import { ResourceServer,Point,Feature } from "@mapgis/webclient-common"
const resourceServer = new ResourceServer({
// 目录æœåŠ¡åŸºåœ°å€ï¼Œportå¯å¡«6163(.netæœåŠ¡)或者8089(JavaæœåŠ¡)
url: 'http://localhost:6163/igs/rest/mrcs'
})
// 查询数æ®åº“表结构
resourceServer.queryGDBPInfo({
// è¦æŸ¥è¯¢çš„gdbpçš„url
gdbpUrl: 'gdbp://MapGisLocal/ClientTheme/sfcls/湖北çœå¸‚驻地'
})
.then((result) => {
// 表结构为result.data.FieldAtt
// 创建一个è¦ç´
const feature = new Feature({
// 设置è¦ç´ id,若id已在数æ®åº“ä¸å˜åœ¨ï¼Œåˆ™è‡ªå¢žid
id: 0,
// è®¾ç½®å‡ ä½•ï¼Œæ”¯æŒç‚¹ã€å¤šç‚¹ã€çº¿ã€å¤šçº¿ã€åŒºã€å¤šåŒº
geometry: new Point({
coordinates: [110.66482, 31.747766]
}),
// 这里的属性一定è¦å’Œæ•°æ®åº“的表结构一一对应,顺åºä¹Ÿä¸èƒ½å‡ºé”™
attributes: {
"CODE": "1",
"NAME": "神龙架林区",
"mpLayer": "0"
},
//è®¾ç½®æ ·å¼
styleInfo: {}
})
// 创建新增è¦ç´ 的结构体
const featureSet = {
// 设置表结构,必填
AttStruct: result.data.FieldAtt,
// è®¾ç½®è¦æ·»åŠ çš„è¦ç´ ,客串多个è¦ç´
SFEleArray: [feature.toOldIGSFeature()]
}
// æ·»åŠ è¦ç´
featureServer.addFeature({
// 新增è¦ç´ 的结构体
featureSet: featureSet,
// gdbo地å€ï¼Œä»…支æŒå•表添åŠ
gdbp: 'gdbp://MapGisLocal/ClientTheme/sfcls/湖北çœå¸‚驻地'
})
.then((result) => {
console.log('新增è¦ç´ æˆåŠŸï¼š', result);
})
.catch((result) => {
console.log('新增è¦ç´ 失败:', result);
})
})
.catch((result) => {
console.log('查询GDBO失败:', result);
})
åŸºäºŽçŸ¢é‡æ–‡æ¡£çš„è¦ç´ 新增示例
// åˆå§‹åŒ–èµ„æºæœåŠ¡
// ES5引入方å¼
const { MultiPoint} = zondy.geometry
const { Feature } = zondy
// ES6引入方å¼
import { MultiPoint,Feature } from "@mapgis/webclient-common"
const resourceServer = new ResourceServer({
// 目录æœåŠ¡åŸºåœ°å€ï¼Œportå¯å¡«6163(.netæœåŠ¡)或者8089(JavaæœåŠ¡)
url: 'http://localhost:6163/igs/rest/mrcs'
})
// 查询数æ®åº“表结构
resourceServer.queryGDBPInfo({
// è¦æŸ¥è¯¢çš„gdbpçš„url
gdbpUrl: 'gdbp://MapGisLocal/ClientTheme/sfcls/湖北çœå¸‚驻地'
})
.then((result) => {
// 创建一个è¦ç´
const feature = new Feature({
// 设置è¦ç´ id,若id已在数æ®åº“ä¸å˜åœ¨ï¼Œåˆ™è‡ªå¢žid
id: 0,
// è®¾ç½®å‡ ä½•ï¼Œæ”¯æŒç‚¹ã€å¤šç‚¹ã€çº¿ã€å¤šçº¿ã€åŒºã€å¤šåŒº
geometry: new MultiPoint({
coordinates: [
[109.47509, 30.270342],
[111.27724, 30.706085]
]
}),
// 这里的属性一定è¦å’Œæ•°æ®åº“的表结构一一对应
attributes: {
"CODE": "0",
"Name": "测试点多点2",
"mpLayer": "0"
},
// è®¾ç½®æ ·å¼
styleInfo: {}
})
// 创建新增è¦ç´ 的结构体
const featureSet = {
// 设置表结构,必填
AttStruct: result.data.FieldAtt,
// è®¾ç½®è¦æ·»åŠ çš„è¦ç´ ,客串多个è¦ç´
SFEleArray: [feature.toOldIGSFeature()]
}
// æ·»åŠ è¦ç´
featureServer.addFeature({
// 新增è¦ç´ 的结构体
featureSet: featureSet,
// 地图在文档下的åºå·ï¼Œä»Ž0开始编å·
mapIndex: 0,
// 图层åºå·ï¼Œä»Ž0开始编å·
layerIndex: 2
})
.then((result) => {
console.log('新增è¦ç´ æˆåŠŸï¼š', result);
})
.catch((result) => {
console.log('新增è¦ç´ 失败:', result);
})
})
.catch((result) => {
console.log('查询GDBO失败:', result);
})
# deleteFeature(options, GDBPOptions, DocOptions)
指定图层的è¦ç´ åˆ é™¤ï¼Œæ”¯æŒIGS2.0çš„è¦ç´ åˆ é™¤æœåŠ¡ã€åŸºäºŽçŸ¢é‡å›¾å±‚çš„è¦ç´ åˆ é™¤æœåС以åŠåŸºäºŽçŸ¢é‡æ–‡æ¡£çš„è¦ç´ åˆ é™¤æœåŠ¡
傿•°
åç§° | 类型 | 默认值 | æè¿° |
---|---|---|---|
options |
指定图层的è¦ç´ åˆ é™¤å‚æ•°ï¼ŒIGS2.0傿•° |
||
layerId |
String | 图层idï¼Œå¿…ä¼ |
|
method |
String | FetchMethod.get | 请求类型 |
success |
function | 查询æˆåŠŸå›žè°ƒå‡½æ•°ï¼Œè‹¥ä½¿ç”¨Promiseæ–¹å¼åˆ™ä¸å¿…填写 |
|
failure |
function | 查询失败回调函数,若使用Promiseæ–¹å¼åˆ™ä¸å¿…填写 |
|
objectIds |
String | 过滤id,多个用英文逗å·åˆ†éš”(使用大数æ®ä½œä¸ºæ•°æ®æºå‘布的è¦ç´ æœåŠ¡ï¼Œè¯¥å‚æ•°æ˜¯å”¯ä¸€æœ‰æ•ˆå‚数) |
|
where |
String | 属性æ¡ä»¶,ç±»SQLè¯å¥ |
|
geometry |
Geometry | ç©ºé—´å‡ ä½•æ¡ä»¶ |
|
distance |
Number | å‡ ä½•ç¼“å†²çš„è·ç¦»ï¼Œgeometry为点ã€çº¿æ—¶æœ‰æ•ˆ |
|
returnDeleteResults |
Boolean | true | 是å¦è¿”回æ¯ä¸ªè¦ç´ åˆ é™¤çš„ç»“æžœï¼Œé»˜è®¤ä¸ºtrue,如果è¦é«˜æ•ˆçš„æ‰¹é‡åˆ 除,应设置为false |
GDBPOptions |
基于矢é‡å›¾å±‚çš„è¦ç´ åˆ é™¤ |
||
gdbp |
String | 图层的gdbp地å€ï¼Œå…许多个图层,图层间用“;â€å·åˆ†éš”,必填,例如: gdbp=gdbp://MapGisLocal/示例数æ®/ds/世界地图/sfcls/海洋陆地;gdbp://sa@SqlServerGIS/MPDBMASTER/ds/兰伯特(全国)_400万/sfcls/ä¸å›½åœ°çº§åŽ¿ |
|
objectIds |
String | 需è¦åˆ 除的è¦ç´ çš„OID值,OID为è¦ç´ çš„å”¯ä¸€æ ‡è¯†ç ,一个图层å¯åŒ…å«å¤šä¸ªobjectIds间以“,â€åˆ†éš”,å¯åŒ…å«å¤šä¸ªå›¾å±‚,å„个图层的objectIds间以“;â€åˆ†éš”,必填,lieu: objectIds=1,2,3;2,3,4;8 |
|
DocOptions |
åŸºäºŽçŸ¢é‡æ–‡æ¡£çš„è¦ç´ åˆ é™¤ |
||
mapIndex |
String | 地图在文档下的åºå·ï¼Œä»Ž0开始编å·ï¼Œå¿…å¡« |
|
layerIndex |
String | 图层åºå·ï¼Œä»Ž0开始编å·ï¼Œå¿…å¡« |
|
objectIds |
String | è¦åˆ 除的è¦ç´ id,多个id以','分割,必填 |
返回è¦ç´ åˆ é™¤ç»“æžœ
示例
IGS2.0çš„è¦ç´ åˆ é™¤ç¤ºä¾‹
// åˆ é™¤è¦ç´
featureServer.deleteFeature({
// 图层id
layerId: '0',
// åŽ‹è¿«åˆ é™¤çš„è¦ç´ id,多个è¦ç´ id以','分割
objectIds: '0,1,2,3,5,6'
})
.then((res)=>{
console.log('è¦ç´ åˆ é™¤æˆåŠŸï¼š', res);
})
.catch((res)=>{
console.log('è¦ç´ åˆ é™¤å¤±è´¥ï¼š', res);
})
基于矢é‡åœ°å›¾çš„è¦ç´ åˆ é™¤ç¤ºä¾‹
// åˆ é™¤è¦ç´
featureServer.deleteFeature({
// gdbp的url
gdbp: 'gdbp://MapGisLocal/ClientTheme/sfcls/湖北çœå¸‚驻地',
// è¦åˆ 除的è¦ç´ id,多个id以','分割
objectIds: '18053'
})
.then((res)=>{
console.log('è¦ç´ åˆ é™¤æˆåŠŸï¼š', res);
})
.catch((res)=>{
console.log('è¦ç´ åˆ é™¤å¤±è´¥ï¼š', res);
})
åŸºäºŽåŸºäºŽçŸ¢é‡æ–‡æ¡£çš„è¦ç´ åˆ é™¤ç¤ºä¾‹
// åˆ é™¤è¦ç´
featureServer.deleteFeature({
// 地图在文档下的åºå·ï¼Œä»Ž0开始编å·
mapIndex: 0,
// 图层åºå·ï¼Œä»Ž0开始编å·
layerIndex: 2,
// è¦åˆ 除的è¦ç´ id,多个id以','分割
objectIds: '18057'
})
.then((res)=>{
console.log('è¦ç´ åˆ é™¤æˆåŠŸï¼š', res);
})
.catch((res)=>{
console.log('è¦ç´ åˆ é™¤å¤±è´¥ï¼š', res);
})
# queryFeatureById(options)
æ ¹æ®idèŽ·å–æŒ‡å®šå›¾å±‚指定è¦ç´ ,IGS2.0新增æœåŠ¡
傿•°
åç§° | 类型 | 默认值 | æè¿° |
---|---|---|---|
options |
èŽ·å–æŒ‡å®šå›¾å±‚指定è¦ç´ 傿•° |
||
layerId |
String | 图层idï¼Œå¿…ä¼ |
|
featureId |
Array | è¦ç´ idï¼Œå¿…ä¼ |
|
method |
String | FetchMethod.get | 请求类型 |
success |
function | 查询æˆåŠŸå›žè°ƒå‡½æ•°ï¼Œè‹¥ä½¿ç”¨Promiseæ–¹å¼åˆ™ä¸å¿…填写 |
|
failure |
function | 查询失败回调函数,若使用Promiseæ–¹å¼åˆ™ä¸å¿…填写 |
返回指定图层指定è¦ç´
示例
æ ¹æ®idèŽ·å–æŒ‡å®šå›¾å±‚指定è¦ç´
featureServer.queryFeatureById({
// 图层id
layerId: '0',
// è¦ç´ id
featureId: '437'
})
.then((res) => {
console.log('è¦ç´ 查询æˆåŠŸï¼š', res)
})
.catch((res) => {
console.log('è¦ç´ 查询失败:', res)
})
# queryFeatures(options)
指定图层的è¦ç´ 查询,支æŒIGS2.0,IGS1.0æœåŠ¡
傿•°
åç§° | 类型 | 默认值 | æè¿° |
---|---|---|---|
options |
è¦ç´ æŸ¥è¯¢å‚æ•°ï¼ŒIGS2.0æœåŠ¡ |
||
layerId |
String | 图层id, å¿…ä¼ |
|
method |
String | FetchMethod.get | 请求类型 |
success |
queryLayerInfoSuccess | 查询æˆåŠŸå›žè°ƒå‡½æ•°ï¼Œè‹¥ä½¿ç”¨Promiseæ–¹å¼åˆ™ä¸å¿…填写 |
|
failure |
queryFailure | 查询失败回调函数,若使用Promiseæ–¹å¼åˆ™ä¸å¿…填写 |
|
geometry |
Geometry | è¦ç´ æŸ¥è¯¢å‡ ä½•æ¡ä»¶ |
|
geometryType |
String | è¦ç´ 查询类型 |
|
where |
String | è¦ç´ 查询whereæ¡ä»¶ |
|
outFields |
String | è¾“å‡ºå±žæ€§å—æ®µï¼Œå¯ä¸º*表示所有,多个用英文逗å·åˆ†éš” |
|
objectIds |
String | 过滤id,多个用英文逗å·åˆ†éš”(傿•°ä¼˜å…ˆçº§å¾ˆé«˜ï¼Œå¯èƒ½å¯¼è‡´å…¶å®ƒç›é€‰æ¡ä»¶å¤±æ•ˆ) |
|
distance |
Number | 0 | ä»…igs2.0支æŒï¼Œå‡ 何缓冲的è·ç¦»ï¼Œgeometry为pointã€lineæ—¶æœ‰æ•ˆï¼ˆè‹¥æ•°æ®æºä¸ºå¤§æ•°æ®PGæ•°æ®ï¼Œä¸”geometryType为line或者point时为必填数æ®ï¼‰ |
geometryPrecision |
Number | 返回è¦ç´ å‡ ä½•ä¿¡æ¯ä¸åæ ‡xy的精度 |
|
rule |
Object | ä»…1.0支æŒ,rule={"CompareRectOnly":false,"MustInside":false,"Intersect":true},æŸ¥è¯¢è§„åˆ™å‚æ•°ï¼ŒJSONæ ¼å¼ï¼ŒCompareRectOnly为是å¦ä»…仅比较查询对象的外包络矩形框,MustInside为查询对象是å¦å¿…须完全包å«åœ¨è¾“入的空间范围内,Intersect为是å¦ä¸ŽæŸ¥è¯¢å¯¹è±¡ç›¸äº¤ |
|
isAsc |
Boolean | ä»…1.0支æŒ,是å¦å‡åºæŽ’列,æ ¼å¼:true/false |
|
spatialRel |
SpatialRelation | ä»…igs2.0支æŒï¼Œå‡ 何æ¡ä»¶çš„空间判定规则,Intersects(相交)ã€EnvelopeIntersects(外包矩形相交)ã€Contains(包å«)ã€Disjoint(相离) |
|
orderByFields |
String | 排åºå—段,æ ¼å¼: fieldName [ASC|DESC] |
|
groupByFieldsForStatistics |
String | Array.<Object> | igs2.0 åˆ†ç»„ç»Ÿè®¡çš„å—æ®µä¿¡æ¯,æ ¼å¼ä¸ºfield1,field2;igs1.0 è¿›è¡Œåˆ†ç»„çš„å—æ®µä»¥è®¡ç®—统计信æ¯ï¼Œç¤ºä¾‹ï¼š[{"LayerIndex": 0,"GroupFieldName": "NAME"}] |
|
resultRecordCount |
Number | 20 | åˆ†é¡µå‚æ•°ï¼šç»“æžœè¿”å›žæ¡æ•°ï¼Œé»˜è®¤20 |
resultOffset |
Number | åˆ†é¡µå‚æ•°ï¼šè·³è¿‡æ¡æ•° |
|
outStatistics |
Array | è®¡ç®—ä¸€ä¸ªæˆ–å¤šä¸ªåŸºäºŽå—æ®µçš„统计信æ¯ç»“æž„,统计类型包括:FUNCTION_MAX/FUNCTION_MIN/FUNCTION_SUM/FUNCTION_AVG/FUNCTION_COUNT/FUNCTION_MAX_OID,示例:"[{"statisticType": "FUNCTION_SUM","onStatisticField": "field1","outStatisticFieldName":"fieldName1"}]" |
|
returnGeometry |
Boolean | true | 是å¦è¿”å›žå‡ ä½•ï¼Œé»˜è®¤ä¸ºtrue |
returnAttribute |
Boolean | true | 是å¦è¿”回属性,默认为true |
returnStyle |
Boolean | false | 是å¦è¿”å›žå›¾å½¢å‚æ•°ä¿¡æ¯ï¼Œé»˜è®¤ä¸ºfalse |
returnIdsOnly |
Boolean | false | ä»…igs2.0支æŒï¼Œæ˜¯å¦åªè¿”回id,默认为false |
returnCountOnly |
Boolean | false | ä»…igs2.0支æŒï¼Œæ˜¯å¦åªè¿”å›žæ¡æ•°ï¼Œé»˜è®¤ä¸ºfalse |
returnExtentOnly |
Boolean | false | ä»…igs2.0支æŒï¼Œæ˜¯å¦åªè¿”回范围,默认为false |
returnZ |
Boolean | false | 是å¦è¿”回Z轴,默认为false |
inSrs |
String | è¾“å…¥å‡ ä½•ç©ºé—´å‚照系,支æŒMapGISå‚ç…§ç³»åç§°ã€EPSGæ ¼å¼å‚考系ã€WKTæ ¼å¼å‚考系,具体请å‚考IGSçš„API文档 |
|
outSrs |
String | è¾“å‡ºå‡ ä½•ç©ºé—´å‚照系,支æŒMapGISå‚ç…§ç³»åç§°ã€EPSGæ ¼å¼å‚考系,WKTæ ¼å¼å‚考系,具体请å‚考IGSçš„API文档 |
返回指定图层è¦ç´ 查询结果
示例
IGS2.0的where查询
featureServer.queryFeatures({
// 图层id
layerId: '1',
// whereè¯å¥
where: "NAME='天门市'"
})
.then((res)=>{
console.log('查询æˆåŠŸï¼š', res)
})
.catch((res)=>{
console.log('查询失败:', res)
})
# queryFeaturesInLayers(options, GDBPOptions, DocsOptions)
全图层è¦ç´ 查询,支æŒigs2.0ã€igs1.0
傿•°
åç§° | 类型 | 默认值 | æè¿° |
---|---|---|---|
options |
全图层è¦ç´ æŸ¥è¯¢å‚æ•° |
||
method |
String | FetchMethod.get | 请求类型 |
success |
queryLayerInfoSuccess | 查询æˆåŠŸå›žè°ƒå‡½æ•°ï¼Œè‹¥ä½¿ç”¨Promiseæ–¹å¼åˆ™ä¸å¿…填写 |
|
failure |
queryFailure | 查询失败回调函数,若使用Promiseæ–¹å¼åˆ™ä¸å¿…填写 |
|
layerDefs |
Array | 多图层的属性æ¡ä»¶,包括layerIdã€whereã€outFields;当值为空时,查询所有图层,并当为拉框查询时,自动过滤ä¸éœ€è¦ä¸éœ€è¦æŸ¥è¯¢çš„图层,示例:"[{ "layerId":"0-0","where": "name='ä¸å›½'", "outfields": "field1,field2"}]" |
|
geometry |
Geometry | è¦ç´ æŸ¥è¯¢å‡ ä½•æ¡ä»¶ |
|
distance |
Number | 0 | å‡ ä½•ç¼“å†²çš„è·ç¦»ï¼Œgeometry为pointã€lineæ—¶æœ‰æ•ˆï¼ˆè‹¥æ•°æ®æºä¸ºå¤§æ•°æ®PGæ•°æ®ï¼Œä¸”geometryType为line或者point时为必填数æ®ï¼‰ |
geometryPrecision |
Number | 返回è¦ç´ å‡ ä½•ä¿¡æ¯ä¸åæ ‡xy的精度 |
|
spatialRel |
SpatialRelation | å‡ ä½•æ¡ä»¶çš„空间判定规则,Intersects(相交)ã€EnvelopeIntersects(外包矩形相交)ã€Contains(包å«)ã€Disjoint(相离) |
|
resultRecordCount |
Number | 20 | åˆ†é¡µå‚æ•°ï¼šç»“æžœè¿”å›žæ¡æ•°ï¼Œé»˜è®¤20 |
returnGeometry |
Boolean | true | 是å¦è¿”å›žå‡ ä½•ï¼Œé»˜è®¤ä¸ºtrue |
returnAttribute |
Boolean | true | 是å¦è¿”回属性,默认为true |
returnStyle |
Boolean | false | 是å¦è¿”å›žå›¾å½¢å‚æ•°ä¿¡æ¯ï¼Œé»˜è®¤ä¸ºfalse |
returnIdsOnly |
Boolean | false | 是å¦åªè¿”回id,默认为false |
returnCountOnly |
Boolean | false | 是å¦åªè¿”å›žæ¡æ•°ï¼Œé»˜è®¤ä¸ºfalse |
returnZ |
Boolean | false | 是å¦è¿”回Z轴,默认为false |
inSrs |
String | è¾“å…¥å‡ ä½•ç©ºé—´å‚照系,支æŒMapGISå‚ç…§ç³»åç§°ã€EPSGæ ¼å¼å‚考系ã€WKTæ ¼å¼å‚考系,具体请å‚考IGSçš„API文档 |
|
outSrs |
String | è¾“å‡ºå‡ ä½•ç©ºé—´å‚照系,支æŒMapGISå‚ç…§ç³»åç§°ã€EPSGæ ¼å¼å‚考系,WKTæ ¼å¼å‚考系,具体请å‚考IGSçš„API文档 |
|
GDBPOptions |
基于矢é‡å›¾å±‚çš„è¦ç´ æŸ¥è¯¢å‚æ•° |
||
gdbp |
String | 图层的gdbp地å€ï¼Œå…许多个图层,图层间用“,â€å·åˆ†éš”ï¼Œå¿…ä¼ |
|
geometry |
Geometry | å‡ ä½•æŸ¥è¯¢æ¡ä»¶ |
|
where |
String | where查询æ¡ä»¶ï¼Œç±»ä¼¼sqlè¯å¥ |
|
objectIds |
String | éœ€è¦æŸ¥è¯¢çš„è¦ç´ çš„OID值,OID为è¦ç´ çš„å”¯ä¸€æ ‡è¯†ç ,多个objectIds间以“,â€åˆ†éš” |
|
page |
Number | 0 | 返回的è¦ç´ 分页的页数,默认返回第0页 |
pageCount |
Number | 20 | è¦ç´ 结果集æ¯é¡µçš„记录数é‡ï¼Œé»˜è®¤ä¸º20æ¡/页 |
rule |
Object | æŒ‡å®šæŸ¥è¯¢è§„åˆ™ï¼Œå‚æ•°ä¸åŒºåˆ†å¤§å°å†™ï¼Œå„傿•°çš„代表å«ä¹‰å¦‚下: CompareRectOnly表示是å¦ä»…比较è¦ç´ 的外包矩形,æ¥åˆ¤å®šæ˜¯å¦ä¸Žå‡ 何约æŸå›¾å½¢æœ‰äº¤é›†ï¼›EnableDisplayCondition表示是å¦å°†éšè—图层计算在内;MustInside表示是å¦å®Œå…¨åŒ…å«ï¼›Intersect表示是å¦ç›¸äº¤ |
|
structs |
Object | æŒ‡å®šæŸ¥è¯¢ç»“æžœçš„ç»“æž„ï¼Œå‚æ•°ä¸åŒºåˆ†å¤§å°å†™ï¼Œå¯ä»¥çœç•¥ï¼Œé»˜è®¤ä¸ºIncludeAttribute:trueï¼Œå…¶ä»–å‚æ•°å‡ä¸ºfalseï¼›IncludeAttribute:是å¦åŒ…å«å±žæ€§ä¿¡æ¯ï¼›IncludeGeometry:是å¦åŒ…å«ç©ºé—´ä¿¡æ¯ï¼›IncludeWebGraphic:是å¦åŒ…å«å›¾å½¢ä¿¡æ¯ï¼ˆæ˜¾ç¤ºå‚æ•°ä¿¡æ¯ï¼‰ |
|
orderField |
String | 排åºå—段å称,用于对输出结果进行排åºï¼Œå½“ObjectIds有值时,orderField失效 |
|
isAsc |
Boolean | æŒ‰ç…§å—æ®µè¿›è¡ŒæŽ’åºæ—¶ï¼Œæ˜¯å¦å‡åºæŽ’列 |
|
DocsOptions |
åŸºäºŽçŸ¢é‡æ–‡æ¡£çš„è¦ç´ 查询 |
||
mapIndex |
Number | 地图在文档下的åºå·ï¼Œä»Ž0开始编å·ï¼Œå¿…ä¼ |
|
layerIndexes |
String | 图层åºå·ï¼Œå¤šå›¾å±‚间以“,â€å·åˆ†éš”ï¼Œå¿…ä¼ |
|
geometry |
Geometry | å‡ ä½•æŸ¥è¯¢æ¡ä»¶ |
|
where |
String | where查询æ¡ä»¶ï¼Œç±»ä¼¼sqlè¯å¥ |
|
objectIds |
String | éœ€è¦æŸ¥è¯¢çš„è¦ç´ çš„OID值,OID为è¦ç´ çš„å”¯ä¸€æ ‡è¯†ç ,多个objectIds间以“,â€åˆ†éš” |
|
page |
Number | 0 | 返回的è¦ç´ 分页的页数,默认返回第0页 |
pageCount |
Number | 20 | è¦ç´ 结果集æ¯é¡µçš„记录数é‡ï¼Œé»˜è®¤ä¸º20æ¡/页 |
rule |
Object | æŒ‡å®šæŸ¥è¯¢è§„åˆ™ï¼Œå‚æ•°ä¸åŒºåˆ†å¤§å°å†™ï¼Œå„傿•°çš„代表å«ä¹‰å¦‚下: CompareRectOnly表示是å¦ä»…比较è¦ç´ 的外包矩形,æ¥åˆ¤å®šæ˜¯å¦ä¸Žå‡ 何约æŸå›¾å½¢æœ‰äº¤é›†ï¼›EnableDisplayCondition表示是å¦å°†éšè—图层计算在内;MustInside表示是å¦å®Œå…¨åŒ…å«ï¼›Intersect表示是å¦ç›¸äº¤ |
|
structs |
Object | æŒ‡å®šæŸ¥è¯¢ç»“æžœçš„ç»“æž„ï¼Œå‚æ•°ä¸åŒºåˆ†å¤§å°å†™ï¼Œå¯ä»¥çœç•¥ï¼Œé»˜è®¤ä¸ºIncludeAttribute:trueï¼Œå…¶ä»–å‚æ•°å‡ä¸ºfalseï¼›IncludeAttribute:是å¦åŒ…å«å±žæ€§ä¿¡æ¯ï¼›IncludeGeometry:是å¦åŒ…å«ç©ºé—´ä¿¡æ¯ï¼›IncludeWebGraphic:是å¦åŒ…å«å›¾å½¢ä¿¡æ¯ï¼ˆæ˜¾ç¤ºå‚æ•°ä¿¡æ¯ï¼‰ |
|
orderField |
String | 排åºå—段å称,用于对输出结果进行排åºï¼Œå½“ObjectIds有值时,orderField失效 |
|
isAsc |
Boolean | æŒ‰ç…§å—æ®µè¿›è¡ŒæŽ’åºæ—¶ï¼Œæ˜¯å¦å‡åºæŽ’列 |
返回è¦ç´ 查询结果
示例
IGS2.0çš„å‡ ä½•æŸ¥è¯¢
featureServer.queryFeaturesInLayers({
// ES5引入方å¼
const { Polygon } = zondy.geometry
// ES6引入方å¼
import { Polygon } from "@mapgis/webclient-common"
// å‡ ä½•æŸ¥è¯¢æ¡ä»¶
geometry: new Polygon({
coordinates: [
[
[110.74, 32.41],
[112.89, 31.06],
[110.15, 30.16],
[110.74, 32.41]
]
]
})
})
.then((res)=>{
console.log('查询æˆåŠŸï¼š', res);
})
.catch((res)=>{
console.log('查询失败:', res);
})
åŸºäºŽçŸ¢é‡æ–‡æ¡£çš„where查询
featureServer.queryFeaturesInLayers({
// 地图在文档下的åºå·ï¼Œä»Ž0开始编å·
mapIndex: 0,
// 图层åºå·ï¼Œå¤šå›¾å±‚间以“,â€å·åˆ†éš”
layerIndexes: '1',
// where查询æ¡ä»¶
where: "NAME='黄石市'"
})
.then((res)=>{
console.log('查询æˆåŠŸï¼š', res);
})
.catch((res)=>{
console.log('查询失败:', res);
})
基于矢é‡å›¾å±‚çš„where查询
featureServer.queryFeaturesInLayers({
// 图层的gdbp地å€ï¼Œå…许多个图层,图层间用“,â€å·åˆ†éš”
gdbp: 'gdbp://MapGisLocalPlus/ClientTheme/ds/epsg4326/sfcls/湖北çœå¸‚级区划2',
// where查询æ¡ä»¶
where: "NAME='天门市'",
})
.then((res)=>{
console.log('查询æˆåŠŸï¼š', res);
})
.catch((res)=>{
console.log('查询失败:', res);
})
# queryLayerInfo(options)
获å–è¦ç´ æœåŠ¡å›¾å±‚ä¿¡æ¯ï¼Œæ”¯æŒIGS1.0,IGS2.0
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
options |
æŸ¥è¯¢å‚æ•° |
|
layerId |
String | 图层idï¼Œå¿…ä¼ |
success |
function | 查询æˆåŠŸå›žè°ƒå‡½æ•°ï¼Œè‹¥ä½¿ç”¨Promiseæ–¹å¼åˆ™ä¸å¿…填写 |
failure |
function | 查询失败回调函数,若使用Promiseæ–¹å¼åˆ™ä¸å¿…填写 |
返回è¦ç´ æœåŠ¡å›¾å±‚ä¿¡æ¯
示例
获å–è¦ç´ æœåŠ¡å›¾å±‚ä¿¡æ¯
featureServer.queryLayerInfo({
// 图层id
layerId: '0'
})
.then((res)=>{
console.log('æŸ¥è¯¢å›¾å±‚ä¿¡æ¯æˆåŠŸï¼š', res)
})
.catch((res)=>{
console.log('查询图层信æ¯å¤±è´¥ï¼š', res)
})
# queryServerInfo(options)
èŽ·å–æœåŠ¡ä¿¡æ¯ï¼ŒIGS2.0新增æœåŠ¡
傿•°
åç§° | 类型 | 默认值 | æè¿° |
---|---|---|---|
options |
æŸ¥è¯¢å‚æ•° |
||
success |
function | æ— | 查询æˆåŠŸå›žè°ƒå‡½æ•°ï¼Œè‹¥ä½¿ç”¨Promiseæ–¹å¼åˆ™ä¸å¿…填写 |
failure |
function | æ— | 查询失败回调函数,若使用Promiseæ–¹å¼åˆ™ä¸å¿…填写 |
- Inherited From:
示例
èŽ·å–æœåŠ¡ä¿¡æ¯-回调方å¼
server.queryServerInfo({
success: function (result) {
console.log('请求æˆåŠŸï¼š', result);
},
failure: function (result) {
console.log('请求失败:', result);
}
});
èŽ·å–æœåŠ¡ä¿¡æ¯-promiseæ–¹å¼
server.queryServerInfo({
})
.then(function (result) {
console.log('请求æˆåŠŸï¼š', result);
}).catch(function (result) {
console.log('请求失败:', result);
});
# updateFeature(options, GDBPOptions)
指定图层的è¦ç´ 更新,支æŒIGS2.0çš„è¦ç´ æ›´æ–°æœåŠ¡ã€åŸºäºŽçŸ¢é‡å›¾å±‚çš„è¦ç´ æ›´æ–°æœåС以åŠåŸºäºŽçŸ¢é‡æ–‡æ¡£çš„è¦ç´ æ›´æ–°æœåŠ¡
傿•°
åç§° | 类型 | 默认值 | æè¿° |
---|---|---|---|
options |
指定图层的è¦ç´ æ›´æ–°å‚æ•°ï¼ŒIGS2.0æœåС傿•° |
||
layerId |
String | 图层idï¼Œå¿…ä¼ |
|
method |
String | FetchMethod.get | 请求类型 |
success |
function | 查询æˆåŠŸå›žè°ƒå‡½æ•°ï¼Œè‹¥ä½¿ç”¨Promiseæ–¹å¼åˆ™ä¸å¿…填写 |
|
failure |
function | 查询失败回调函数,若使用Promiseæ–¹å¼åˆ™ä¸å¿…填写 |
|
features |
Array | [] | è¦æ›´æ–°çš„è¦ç´ 集åˆï¼Œéœ€è¦æ³¨æ„è¦ç´ 属性必须æºå¸¦FIDå—æ®µæ‰èƒ½æ›´æ–° |
GDBPOptions |
基于矢é‡å›¾å±‚çš„è¦ç´ æ›´æ–°å‚æ•° |
||
gdbp |
String | gdbpçš„url,仅支æŒå•个数æ®åº“çš„è¦ç´ æ›´æ–°ï¼Œå¿…ä¼ |
|
featureSet |
Object | è¦æ›´æ–°çš„è¦ç´ 集åˆï¼Œæ³¨æ„是igs1.0çš„æ ¼å¼ï¼Œå¿…ä¼ |
返回图层更新结果
示例
IGS2.0çš„è¦ç´ 更新示例
// 创建线è¦ç´
// ES5引入方å¼
const { Feature } = zondy
const { LineString } = zondy.geometry
// ES6引入方å¼
import { Feature } from "@mapgis/webclient-common"
const lineString = new Feature({
// æ›´æ–°è¦ç´ 时需è¦ä¼ 一个FIDæ¥æŒ‡å®šè¦ç´ ,其他的属性值å¯ä»¥æ ¹æ®éœ€æ±‚æ¥ç›–é¢
attributes: { FID:'0' },
// æ›´æ–°å‡ ä½•ï¼Œæ³¨æ„å‡ ä½•ä¸€å®šè¦æ˜¯GDBPè¡¨å¯¹åº”çš„å‡ ä½•ç±»åž‹
geometry: new LineString({
coordinates: [
[110.74, 32.41],
[112.89, 31.06],
[110.15, 30.16]
]
})
})
// 更新线è¦ç´
featureServer.updateFeature({
// 图层id
layerId: '1',
// è¦æ›´æ–°çš„è¦ç´ ,支æŒä¸€æ¬¡æ›´æ–°å¤šä¸ªè¦ç´
features: [lineString]
})
.then((res) => {
console.log('è¦ç´ æ›´æ–°æˆåŠŸ: ', res)
})
.catch((res) => {
console.log('è¦ç´ 更新失败: ', res)
})
基于矢é‡å›¾å±‚çš„è¦ç´ 更新示例
// åˆå§‹åŒ–èµ„æºæœåŠ¡
// ES5引入方å¼
const { ResourceServer } = zondy.service
const { Feature } = zondy
const { Point } = zondy.geometry
// ES6引入方å¼
import { ResourceServer,Feature, Point} from "@mapgis/webclient-common"
const resourceServer = new ResourceServer({
// 目录æœåŠ¡åŸºåœ°å€ï¼Œportå¯å¡«6163(.netæœåŠ¡)或者8089(JavaæœåŠ¡)
url: 'http://localhost:6163/igs/rest/mrcs'
})
// 查询数æ®åº“表结构
resourceServer.queryGDBPInfo({
// è¦æŸ¥è¯¢çš„gdbpçš„url
gdbpUrl: 'gdbp://MapGisLocal/ClientTheme/sfcls/湖北çœå¸‚驻地'
})
.then((result) => {
// 表结构为result.data.FieldAtt
// 创建一个è¦ç´
const feature = new Feature({
// 设置更新è¦ç´ çš„id
id: 1220,
// è®¾ç½®å‡ ä½•ï¼Œæ”¯æŒç‚¹ã€å¤šç‚¹ã€çº¿ã€å¤šçº¿ã€åŒºã€å¤šåŒº
geometry: new Point({
coordinates: [110.66482, 31.747766]
}),
// 更新属性
attributes: {
"CODE": "1",
"NAME": "新的神龙架林区",
"mpLayer": "0"
}
})
// 创建更新è¦ç´ 的结构体
const featureSet = {
// 设置表结构,必填
AttStruct: result.data.FieldAtt,
// è®¾ç½®è¦æ·»åŠ çš„è¦ç´ ,客串多个è¦ç´
SFEleArray: [feature.toOldIGSFeature()]
}
// æ›´æ–°è¦ç´
featureServer.updateFeature({
// æ›´æ–°è¦ç´ 的结构体
featureSet: featureSet,
// gdbo地å€ï¼Œä»…支æŒå•表添åŠ
gdbp: 'gdbp://MapGisLocal/ClientTheme/sfcls/湖北çœå¸‚驻地'
})
.then((result) => {
console.log('æ›´æ–°è¦ç´ æˆåŠŸï¼š', result);
})
.catch((result) => {
console.log('æ›´æ–°è¦ç´ 失败:', result);
})
})
.catch((result) => {
console.log('查询GDBO失败:', result);
})
åŸºäºŽçŸ¢é‡æ–‡æ¡£çš„è¦ç´ 更新示例
// åˆå§‹åŒ–èµ„æºæœåŠ¡
// ES5引入方å¼
const { ResourceServer } = zondy.service
const { Feature } = zondy
const { MultiPoint } = zondy.geometry
// ES6引入方å¼
import { ResourceServer,Feature,MultiPoint } from "@mapgis/webclient-common"
const resourceServer = new ResourceServer({
// 目录æœåŠ¡åŸºåœ°å€ï¼Œportå¯å¡«6163(.netæœåŠ¡)或者8089(JavaæœåŠ¡)
url: 'http://localhost:6163/igs/rest/mrcs'
})
// 查询数æ®åº“表结构
resourceServer.queryGDBPInfo({
// è¦æŸ¥è¯¢çš„gdbpçš„url
gdbpUrl: 'gdbp://MapGisLocal/ClientTheme/sfcls/湖北çœå¸‚驻地'
})
.then((result) => {
// 创建一个è¦ç´
const feature = new Feature({
// è®¾ç½®è¦æ›´æ–°çš„è¦ç´ id
id: 0,
// è®¾ç½®å‡ ä½•ï¼Œæ”¯æŒç‚¹ã€å¤šç‚¹ã€çº¿ã€å¤šçº¿ã€åŒºã€å¤šåŒº
geometry: new MultiPoint({
coordinates: [
[109.47509, 30.270342],
[111.27724, 30.706085]
]
}),
// 更新属性
attributes: {
"CODE": "0",
"Name": "多点",
"mpLayer": "0"
}
})
// 创建更新è¦ç´ 的结构体
const featureSet = {
// 设置表结构,必填
AttStruct: result.data.FieldAtt,
// è®¾ç½®è¦æ›´æ–°çš„è¦ç´ ,客串多个è¦ç´
SFEleArray: [feature.toOldIGSFeature()]
}
// æ›´æ–°è¦ç´
featureServer.updateFeature({
// æ›´æ–°è¦ç´ 的结构体
featureSet: featureSet,
// 地图在文档下的åºå·ï¼Œä»Ž0开始编å·
mapIndex: 0,
// 图层åºå·ï¼Œä»Ž0开始编å·
layerIndex: 2
})
.then((result) => {
console.log('æ›´æ–°è¦ç´ æˆåŠŸï¼š', result);
})
.catch((result) => {
console.log('æ›´æ–°è¦ç´ 失败:', result);
})
})
.catch((result) => {
console.log('查询GDBO失败:', result);
})
æ›´æ–°è¦ç´ æ ·å¼
// ES5引入方å¼
const { ResourceServer, FeatureServer } = zondy.service
const { Polygon } = zondy.geometry
const { Feature } = zondy
// ES6引入方å¼
import { ResourceServer, FeatureServer, Polygon, Feature } from "@mapgis/webclient-common"
// åˆå§‹åŒ–èµ„æºæœåŠ¡å¯¹è±¡
const resourceServer = new ResourceServer({
url: 'http://{ip}:{port}/igs/rest/services/system/ResourceServer'
})
// åˆå§‹åŒ–è¦ç´ æœåŠ¡å¯¹è±¡
const featureServer = new FeatureServer({
url: 'http://{ip}:{port}/igs/rest/services/{è¦ç´ æœåŠ¡å}/FeatureServer'
})
// 查询è¦ç´ 图层信æ¯
featureServer.queryLayerInfo({
// è¦ç´ 图层ID
layerId: '0'
}).then(function (layerInfo) {
// 通过gdbpåœ°å€æŸ¥è¯¢ç³»ç»Ÿåº“
resourceServer.queryTempDataInfo({
// gdbp地å€
url: layerInfo.data.url
}).then(function (tempDataInfo) {
// 获å–系统库åç§°
const systemLibGuid = tempDataInfo.data.systemLibGuid
// 查询è¦ç´
featureServer.queryFeaturesInLayers({
// 图层id
layerId: '0',
// 返回è¦ç´ æ ·å¼
returnStyle: true
}).then(function (featureInfo) {
// 获å–è¦ç´
const featureData = featureInfo.data.layers[0].features[0]
// å½“é€šè¿‡é¢œè‰²æŸ¥æ‰¾è‰²å·æ—¶ï¼ŒMapGIS桌é¢ä¼šé€šè¿‡é¢œè‰²å€¼çš„æ¨¡ç³ŠåŒ¹é…去查找色å·ï¼Œä¸¤ä¸ªä¸åŒçš„颜色,查找出的色å·å¯èƒ½ä¼šä¸€æ ·ï¼Œå› æ¤æ— 法通过颜色查找色å·
// å› æ¤æŽ¨è用户通过querySystemColorList查询到指定系统库的颜色列表,然åŽå†å‰ç«¯æ ¹æ®è‡ªå·±çš„é¡¹ç›®å®žé™…æƒ…å†µï¼Œå†™ä¸€ä¸ªè°ƒè‰²æ¿æ¥é€‰æ‹©è‰²å·ï¼Œæ³¨æ„该接å£éœ€è¦è®¾ç½®ç¿»é¡µå‚æ•°
// æ¤æ¥éª¤æ˜¯å¯é€‰é¡¹ï¼Œä¹Ÿå¯ä»¥åƒä¸‹æ–¹ä»£ç ,直接更改色å·
resourceServer.querySystemColorList({
// 系统库ID
sysLib: systemLibGuid,
// æŸ¥è¯¢ç¬¬å‡ é¡µ
page: 1,
// æ¯é¡µæ•°é‡
pageSize: 20,
}).then(function (colorList) {
console.log("色å·åˆ—表:", colorList)
})
// 直接更改色å·
featureData.styleInfo.fillColor = 112
// æž„é€ è¦æ›´æ–°çš„è¦ç´ 对象
const feature = new Feature({
// 更新属性,å¯ä»¥æ›´æ–°éƒ¨åˆ†å±žæ€§ï¼Œä½†æ˜¯FID是必选项,{FID:'xxx'}
attributes: featureData.attributes,
// æ›´æ–°å‡ ä½•ï¼Œå¿…é¡»æ›´æ–°å‡ ä½•
geometry: new Polygon({
coordinates: featureData.geometry.coordinates
}),
// æ›´æ–°æ ·å¼ï¼Œå¯é€‰é¡¹
styleInfo: featureData.styleInfo
})
// æ›´æ–°è¦ç´ 对象
featureServer.updateFeature({
// 请求方å¼
method: 'POST',
// è¦æ›´æ–°çš„图层ID
layerId: '0',
// è¦æ›´æ–°è¦ç´ 对象
features: [feature]
})
})
})
})