@mapgis/webclient-common
Version:
mapgis ES6 format for igserver
2,889 lines (1,164 loc) • 65.7 kB
HTML
<header id="page-title" class="page-title">
<span class="page-title-main">类名</span>
<span class="page-title-sub">IGSFeatureLayer</span>
</header>
<section>
<article>
<div class="container-overview">
<div class='vertical-section'>
<div class="members">
<div class="member">
<h4 class="name" id="IGSFeatureLayer">
<a class="href-link" href="#IGSFeatureLayer">#</a>
<span class="code-name" id="IGSFeatureLayer" style="font-size:30px">
new IGSFeatureLayer<span class="signature">(options)</span>
</span>
</h4>
<div class="description">
<p>IGS要素图层,<br>
目前二维和三维上支持4326(包括4490,4214以及4610),3857以及EPSG支持的自定义坐标系,要素服务会自动读取元信息上的坐标系,不需要用户指定
<br><br>[ES5引入方式]:<br/>
Zondy.Layer.IGSFeatureLayer() <br/>
[ES6引入方式]:<br/>
import { IGSFeatureLayer } from "@mapgis/webclient-common" <br/>
<br/>
针对图层的操作请在图层加载完毕事件中进行<br/>
Layer.on('layerview-created', function (result) {<br/>
console.log("加载完毕:", result.layer)<br/>
});<br/>
如果不想在该事件中放入业务代码,则请确认图层资源已加载完毕后再进行操作<br/>
if(layer.loadStatus === 'loaded') {<br/>
// 你的业务逻辑<br/>
}</p>
</div>
<h4>参数</h4>
<div class="table-container">
<table class="params table">
<thead>
<tr>
<th>名称</th>
<th>类型</th>
<th style="min-width: 100px;">默认值</th>
<th class="last">描述</th>
</tr>
</thead>
<tbody>
<tr class="deep-level-0">
<td class="name" id="options"><code>options</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="default">
</td>
<td class="description last"><p>构造参数</p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="url"><code>url</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="default">
</td>
<td class="description last"><p>服务基地址,<br/>
1、IGS2.0服务:http://{ip}:{port}/igs/rest/services/{ServiceName}/FeatureServer<br/>
示例如下:<br/>
<a href='#add-IGSFeatureLayer'>[1、添加IGS要素图层-不指定图层]</a><br/>
<a href='#IGSFeatureLayer-id'>[2、添加IGS要素图层-指定图层id]</a><br/>
<a href='#IGSFeatureLayer-url'>[3、添加IGS要素图层-在基地址中指定图层id]</a><br/>
2、IGS1.0服务:http://{ip}:{port}/igs/rest/mrfs/docs/{ServiceName}<br/>
示例如下:<br/>
<a href='#IGSFeatureLayer-IGS1.0'>[1、添加IGS要素图层-IGS1.0]</a><br/>
3、GDBP服务,注意该服务不支持注记:http://{ip}:{port}/igs/rest/mrfs/layer<br/>
示例如下:<br/>
<a href='#IGSFeatureLayer-gdbp'>[1、指定一个gdbp地址来渲染要素]</a><br/>
4、删除图层方法:<a href='#remove-layer'>[删除图层]</a></p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="sublayerId"><code>sublayerId</code></td>
<td class="type">
<span class="param-type">Number</span>
|
<span class="param-type">String</span>
</td>
<td class="default">
0
</td>
<td class="description last"><p>要素服务的子图层id,不指定则查询第0个图层,指定时,则查询指定layerId的图层</p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="gdbp"><code>gdbp</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="default">
</td>
<td class="description last"><p>指定一个gdbp数据源来加载图形,格式如下:gdbp://MapGisLocal/武汉市/ds/4326矢量/sfcls/武汉市区划4326</p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="id"><code>id</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="default">
</td>
<td class="description last"><p>图层id,图层的唯一标识,不指定则给一个随机id</p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="opacity"><code>opacity</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
1
</td>
<td class="description last"><p>图层透明度,0到1之间的值,0为完全透明,1为不透明,参考示例:<a href='#opacity'>[设置图层透明度]</a></p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="visible"><code>visible</code></td>
<td class="type">
<span class="param-type">Boolean</span>
</td>
<td class="default">
true
</td>
<td class="description last"><p>图层显示或隐藏,true则显示,false则隐藏,参考示例:<a href='#visible'>[设置图层显示或隐藏]</a></p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="renderMode"><code>renderMode</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="default">
'client'
</td>
<td class="description last"><p>渲染模式,分为客户端渲染'client'和服务器端渲染'server'</p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="renderer"><code>renderer</code></td>
<td class="type">
<span class="param-type">Renderer</span>
</td>
<td class="default">
</td>
<td class="description last"><p>渲染样式,<br>
目前支持如下样式:<br/>
<a class="mapgis-link-name" title="UniqueValueRenderer" UniqueValueRenderer.html><code>1、单值专题图</code></a><br/>
<a class="mapgis-link-name" title="ClassBreakRenderer" ClassBreakRenderer.html><code>2、分段专题图</code></a><br/>
<a class="mapgis-link-name" title="SimpleRenderer" SimpleRenderer.html><code>3、统一专题图</code></a><br/>
参考示例:<br/>
<a href='#UniqueValueRenderer'>[1、单值专题图]</a><br/>
<a href='#ClassBreakRenderer'>[2、分段专题图]</a><br/>
<a href='#SimpleRenderer'>[3、统一专题图]</a><br/></p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="definitionExpression"><code>definitionExpression</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="default">
''
</td>
<td class="description last"><p>sql语句查询,例如name='中国'</p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="labelsVisible"><code>labelsVisible</code></td>
<td class="type">
<span class="param-type">Boolean</span>
</td>
<td class="default">
false
</td>
<td class="description last"><p>是否开启动态注记,仅支持三维场景</p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="labelingInfo"><code>labelingInfo</code></td>
<td class="type">
<span class="param-type">Array.<<a link="Array.<LabelClass>.html" onclick="getTypeHTML(event)" href="LabelClass.html">LabelClass</a>></span>
</td>
<td class="default">
[]
</td>
<td class="description last"><p>注记样式数组,可以和renderer同时启用,默认取数组的第一个样式,
仅支持三维场景,参考示例:<a href='#add-labelingInfo'>[注记样式]</a><br/></p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="minScale"><code>minScale</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
0
</td>
<td class="description last"><p>最小显示比例尺,图层在视图中可见的最小比例尺。</p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="maxScale"><code>maxScale</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
0
</td>
<td class="description last"><p>最大显示比例尺,图层在视图中可见的最大比例尺。</p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="tokenKey"><code>tokenKey</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="default">
'token'
</td>
<td class="description last"><p>token名</p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="tokenValue"><code>tokenValue</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="default">
</td>
<td class="description last"><p>token值,只有当tokenValue存在时,才会绑定token</p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="supportArc3"><code>supportArc3</code></td>
<td class="type">
<span class="param-type">Boolean</span>
</td>
<td class="default">
true
</td>
<td class="description last"><p>是否返回三点弧段数据,为true则返回三个点代表三点弧段,否则返回离散的点</p></td>
</tr>
</tbody>
</table>
</div>
<dl class="details">
</dl>
<div class="method-parameter columns">
<div class="column is-2"><label>绑定事件</label></div>
<div class="column is-10">
<ul>
<li><a class="mapgis-link-name" title="Layer#event:图层加载完毕事件" Layer.html#event:%25E5%259B%25BE%25E5%25B1%2582%25E5%258A%25A0%25E8%25BD%25BD%25E5%25AE%258C%25E6%25AF%2595%25E4%25BA%258B%25E4%25BB%25B6>Layer#event:图层加载完毕事件</a></li>
<li><a class="mapgis-link-name" title="Layer#event:图层销毁完毕事件" Layer.html#event:%25E5%259B%25BE%25E5%25B1%2582%25E9%2594%2580%25E6%25AF%2581%25E5%25AE%258C%25E6%25AF%2595%25E4%25BA%258B%25E4%25BB%25B6>Layer#event:图层销毁完毕事件</a></li>
<li><a class="mapgis-link-name" title="Layer#event:图层更新完毕事件" Layer.html#event:%25E5%259B%25BE%25E5%25B1%2582%25E6%259B%25B4%25E6%2596%25B0%25E5%25AE%258C%25E6%25AF%2595%25E4%25BA%258B%25E4%25BB%25B6>Layer#event:图层更新完毕事件</a></li>
<li><a class="mapgis-link-name" title="Layer#event:图层显隐更新完毕事件" Layer.html#event:%25E5%259B%25BE%25E5%25B1%2582%25E6%2598%25BE%25E9%259A%2590%25E6%259B%25B4%25E6%2596%25B0%25E5%25AE%258C%25E6%25AF%2595%25E4%25BA%258B%25E4%25BB%25B6>Layer#event:图层显隐更新完毕事件</a></li>
<li><a class="mapgis-link-name" title="Layer#event:图层透明度更新完毕事件" Layer.html#event:%25E5%259B%25BE%25E5%25B1%2582%25E9%2580%258F%25E6%2598%258E%25E5%25BA%25A6%25E6%259B%25B4%25E6%2596%25B0%25E5%25AE%258C%25E6%25AF%2595%25E4%25BA%258B%25E4%25BB%25B6>Layer#event:图层透明度更新完毕事件</a></li>
<li><a class="mapgis-link-name" title="Layer#event:图层刷新完毕事件" Layer.html#event:%25E5%259B%25BE%25E5%25B1%2582%25E5%2588%25B7%25E6%2596%25B0%25E5%25AE%258C%25E6%25AF%2595%25E4%25BA%258B%25E4%25BB%25B6>Layer#event:图层刷新完毕事件</a></li>
<li><a class="mapgis-link-name" title="IGSFeatureLayer#event:图层样式更新完毕事件" IGSFeatureLayer.html#event:%25E5%259B%25BE%25E5%25B1%2582%25E6%25A0%25B7%25E5%25BC%258F%25E6%259B%25B4%25E6%2596%25B0%25E5%25AE%258C%25E6%25AF%2595%25E4%25BA%258B%25E4%25BB%25B6>IGSFeatureLayer#event:图层样式更新完毕事件</a></li>
</ul>
</div>
</div>
<p class="summary"><h5>支持如下方法:</h5>
<a href='#load'>[1、加载图层资源]</a><br/>
<a href='#queryFeatures'>[2、指定图层的要素查询]</a><br/>
<a href='#queryFeaturesCount'>[3、查询要素数量]</a><br/>
<a href='#fromJSON'>[4、通过传入的json构造并返回一个新的几何对象]</a><br/>
<a class="mapgis-link-name" title="OGCLayer#toJSON" OGCLayer.html#toJSON><code>5、导出为json对象</code></a><br/>
<a class="mapgis-link-name" title="OGCLayer#clone" OGCLayer.html#clone><code>6、克隆几何对象</code></a></p>
<h5>示例</h5>
<p class="code-caption"><h7 id='add-IGSFeatureLayer'>添加IGS要素图层-不指定图层</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSFeatureLayer } = Zondy.Layer
// ES6引入方式
import { IGSFeatureLayer} from "@mapgis/webclient-common"
// 添加图层
const igsFeatureLayer = new IGSFeatureLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{ServiceName}/FeatureServer'
})</code></pre>
<p class="code-caption"><h7 id='IGSFeatureLayer-id'>添加IGS要素图层-指定图层id</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSFeatureLayer } = Zondy.Layer
// ES6引入方式
import { IGSFeatureLayer} from "@mapgis/webclient-common"
// 添加图层
const igsFeatureLayer = new IGSFeatureLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{ServiceName}/FeatureServer',
// 指定图层id
sublayerId: 2
})</code></pre>
<pre class="prettyprint"><code><caption><h7 id='IGSFeatureLayer-url'>添加IGS要素图层-在基地址中指定图层id</h7></caption
// ES5引入方式
const { IGSFeatureLayer } = Zondy.Layer
// ES6引入方式
import { IGSFeatureLayer} from "@mapgis/webclient-common"
const igsFeatureLayer = new IGSFeatureLayer({
// 服务基地址,再基地址上指定图层id
url: 'http://{ip}:{port}/igs/rest/services/{ServiceName}/FeatureServer/1'
})</code></pre>
<p class="code-caption"><h7 id='IGSFeatureLayer-IGS1.0'>添加IGS要素图层-IGS1.0</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSFeatureLayer } = Zondy.Layer
// ES6引入方式
import { IGSFeatureLayer} from "@mapgis/webclient-common"
const igsFeatureLayer = new IGSFeatureLayer({
// 服务基地址,再基地址上指定图层id
url: 'http://{ip}:{port}/igs/rest/mrfs/docs/{ServiceName}',
// 图层id
sublayerId: '1'
})</code></pre>
<p class="code-caption"><h7 id='remove-layer'>删除图层</h7></p>
<pre class="prettyprint"><code>map.remove(igsFeatureLayer)</code></pre>
<p class="code-caption"><h7 id='opacity'>设置图层透明度</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSFeatureLayer } = Zondy.Layer
// ES6引入方式
import { IGSFeatureLayer} from "@mapgis/webclient-common"
// 在初始化时设置
const igsFeatureLayer = new IGSFeatureLayer({
// 服务基地址,再基地址上指定图层id
url: 'http://{ip}:{port}/igs/rest/services/{ServiceName}/FeatureServer/1',
// 设置透明度
opacity: 1
})
// 在图层加载完毕后设置
igsFeatureLayer.opacity = 0.5</code></pre>
<p class="code-caption"><h7 id='visible'>设置图层可见性</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSFeatureLayer } = Zondy.Layer
// ES6引入方式
import { IGSFeatureLayer} from "@mapgis/webclient-common"
// 在初始化时设置
const igsFeatureLayer = new IGSFeatureLayer({
// 服务基地址,再基地址上指定图层id
url: 'http://{ip}:{port}/igs/rest/services/{ServiceName}/FeatureServer/1',
// 设置图层可见性
visible: true
})
// 在图层加载完毕后设置
igsFeatureLayer.visible = !igsFeatureLayer.visible</code></pre>
<p class="code-caption"><h7 id='index'>图层顺序</h7></p>
<pre class="prettyprint"><code>// 加载完毕后,更改图层顺序
map.reorder(igsFeatureLayer, '要移动到的index');</code></pre>
<p class="code-caption"><h7 id='UniqueValueRenderer'>单值专题图</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSFeatureLayer } = Zondy.Layer
const { UniqueValueRenderer } = Zondy.Renderer
const { SimpleFillSymbol,SimpleLineSymbol } = Zondy.Symbol
const { Color } = Zondy
// ES6引入方式
import { IGSFeatureLayer,UniqueValueRenderer,SimpleFillSymbol,SimpleLineSymbol,Color } from "@mapgis/webclient-common"
const igsFeatureLayer = new IGSFeatureLayer({
// 服务基地址,当不指定图层名称时,默认查询第一个子图层
url: 'http://{ip}:{port}/igs/rest/services/{ServiceName}/FeatureServer',
// 设置渲染样式-单值专题图
renderer: renderer: new UniqueValueRenderer({
// 专题图过滤字段名
field: '字段名',
// 默认样式,当没有匹配到指定值时,会使用默认样式
// 因为该数据的几何类型为区,因此设置区样式
defaultSymbol: new SimpleFillSymbol({
// 填充颜色
color: new Color(255, 0, 0),
// 外边线样式
outline: new SimpleLineSymbol({
// 线颜色
color: new Color(0, 0, 0),
// 线宽
width: 1
})
}),
// 单值专题图过滤条件数组
uniqueValueInfos: [
{
//指定字段值
value: '过滤字段值1',
//匹配到该值后的样式
// 因为该数据的几何类型为区,因此设置区样式
symbol: new SimpleFillSymbol({
// 填充颜色
color: new Color(255, 0, 0)
})
},
{
//指定字段值
// 因为该数据的几何类型为区,因此设置区样式
value: '过滤字段值2',
//匹配到该值后的样式
// 因为该数据的几何类型为区,因此设置区样式
symbol: new SimpleFillSymbol({
// 填充颜色
color: 'rgb(255, 123, 220)'
})
}
]
})
})</code></pre>
<p class="code-caption"><h7 id='ClassBreakRenderer'>分段专题图</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSFeatureLayer } = Zondy.Layer
const { ClassBreakRenderer } = Zondy.Renderer
const { SimpleLineSymbol } = Zondy.Symbol
const { Color } = Zondy
// ES6引入方式
import { IGSFeatureLayer,ClassBreakRenderer,SimpleLineSymbol,Color } from "@mapgis/webclient-common"
const igsFeatureLayer = new IGSFeatureLayer({
// 服务基地址,当不指定图层名称时,默认查询第一个子图层
url: 'http://{ip}:{port}/igs/rest/services/{ServiceName}/FeatureServer',
// 设置渲染样式-分段专题图
renderer: new ClassBreakRenderer({
// 专题图过滤字段名
field: '字段名',
// 默认样式,当没有匹配到指定值时,会使用默认样式
// 因为该数据的几何类型为线,因此设置线样式
defaultSymbol: new SimpleLineSymbol({
// 线符号颜色
color: new Color(1, 244, 0),
// 线宽
width: 3
}),
// 分段专题图过滤条件数组
classBreakInfos: [
{
// 最小过滤范围,field对应的值大于等于minValue
minValue: 0,
// 最大过滤范围,field对应的值小于maxValue
maxValue: 2,
// 匹配到该值后的样式
// 因为该数据的几何类型为线,因此设置线样式
symbol: new SimpleLineSymbol({
// 线符号颜色
color: new Color(1, 244, 0),
// 线宽
width: 3
})
},
{
// 最小过滤范围,field对应的值大于等于minValue
minValue: 3,
// 最大过滤范围,field对应的值小于maxValue
maxValue: 5,
// 匹配到该值后的样式
// 因为该数据的几何类型为线,因此设置线样式
symbol: new SimpleLineSymbol({
// 线符号颜色
color: new Color(111, 144, 10),
// 线宽
width: 3
})
},
{
// 最小过滤范围,field对应的值大于等于minValue
minValue: 5,
// 最大过滤范围,field对应的值小于maxValue
maxValue: 7,
// 匹配到该值后的样式
// 因为该数据的几何类型为线,因此设置线样式
symbol: new SimpleLineSymbol({
// 线符号颜色
color: new Color(22, 244, 10),
// 线宽
width: 3
})
},
{
// 最小过滤范围,field对应的值大于等于minValue
minValue: 7,
// 最大过滤范围,field对应的值小于maxValue
maxValue: 9,
// 匹配到该值后的样式
// 因为该数据的几何类型为线,因此设置线样式
symbol: new SimpleLineSymbol({
// 线符号颜色
color: new Color(33, 44, 10),
// 线宽
width: 3
})
},
{
// 最小过滤范围,field对应的值大于等于minValue
minValue: 9,
// 最大过滤范围,field对应的值小于maxValue
maxValue: 20,
// 匹配到该值后的样式
// 因为该数据的几何类型为线,因此设置线样式
symbol: new SimpleLineSymbol({
// 线符号颜色
color: new ZColor(123, 124, 110),
// 线宽
width: 3
})
}
]
})
})</code></pre>
<p class="code-caption"><h7 id='SimpleRenderer'>统一专题图</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSFeatureLayer } = Zondy.Layer
const { SimpleRenderer } = Zondy.Renderer
const { SimpleFillSymbol,SimpleLineSymbol } = Zondy.Symbol
const { Color } = Zondy
// ES6引入方式
import { IGSFeatureLayer,SimpleRenderer,SimpleFillSymbol,SimpleLineSymbol,Color } from "@mapgis/webclient-common"
const igsFeatureLayer = new IGSFeatureLayer({
// 服务基地址,当不指定图层名称时,默认查询第一个子图层
url: 'http://{ip}:{port}/igs/rest/services/{ServiceName}/FeatureServer',
// 设置渲染样式-统一专题图
renderer: new SimpleRenderer({
// 因为该数据的几何类型为区,因此设置区样式
symbol: new SimpleFillSymbol({
// 填充颜色
color: new Color(255, 0, 0),
// 外边线样式
outline: new SimpleLineSymbol({
// 线颜色
color: new Color(0, 0, 0),
// 线宽度
width: 1
})
})
})
})</code></pre>
<p class="code-caption"><h7 id='IGSFeatureLayer-gdbp'>指定一个gdbp地址来渲染要素</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSFeatureLayer } = Zondy.Layer
// ES6引入方式
import { IGSFeatureLayer } from "@mapgis/webclient-common"
const igsFeatureLayer = new IGSFeatureLayer({
// 服务基地址,该地址为要素服务1.0地址
url: "http://{ip}:{port}/igs/rest/mrfs/layer",
// gdbp地址,在桌面的数据库中右键简单要素类,来获取该地址
gdbp: "gdbp://MapGisLocal/武汉市/ds/4326矢量/sfcls/武汉市区划4326"
})</code></pre>
<p class="code-caption"><h7 id='add-labelingInfo'>启用注记</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { igsFeatureLayer } = Zondy.Layer
const { LabelClass ,Font} = Zondy
const { TextSymbol } = Zondy.Symbol
// ES6引入方式
import { igsFeatureLayer,LabelClass,Font,TextSymbol } from "@mapgis/webclient-common"
// 初始化LabelClass
const labelClass = new LabelClass({
// 指定文本符号样式
symbol: new TextSymbol({
// 文字颜色
color: new Color(252, 100, 22, 1),
// 文字样式
font: new Font({
// 字体
family: "微软雅黑",
// 文字大小,单位像素
size: 30,
// 文字是否为斜体,正常模式
style: "normal",
// 文字粗细
weight: "normal"
})
})
})
// 初始化IGS要素图层
const igsFeatureLayer = new igsFeatureLayer({
// 服务基地址,当不指定图层名称时,默认查询第一个子图层
url: 'http://{ip}:{port}/igs/rest/services/{ServiceName}/FeatureServer',
// 可在此处设置渲染样式
renderer: {},
// 启用注记
labelsVisible: true,
// 设置注记样式
labelingInfo: [labelClass]
})</code></pre>
</div>
</div>
</div>
</div>
<h3 class="subsection-title">继承关系</h3>
<ul>
<li><a link="FeatureLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="FeatureLayer" FeatureLayer.html>FeatureLayer</a></li>
</ul>
<div class='vertical-section'>
<h3 id='member'>成员变量</h3>
<h4 style="margin-top: 20px;margin-bottom: 20px;">成员变量概述</h4>
<div class="table-container">
<table class="params table">
<thead>
<tr>
<th>名称</th>
<th>类型</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr class="deep-level-0">
<td class="name"><code><a href="#capabilities">capabilities</a></code></td>
<td class="name">
<code>
<span class="param-type">Array.<String></span>
</code>
</td>
<td class="name"><code><p>服务支持的能力</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#definitionExpression">definitionExpression</a></code></td>
<td class="name">
<code>
<span class="param-type">String</span>
</code>
</td>
<td class="name"><code><p>要素过滤条件,类似sql语句</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#elevationInfo">elevationInfo</a></code></td>
<td class="name">
<code>
<span class="param-type"><a link="ElevationInfo.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="ElevationInfo" ElevationInfo.html>ElevationInfo</a></span>
</code>
</td>
<td class="name"><code><p>高程模式参数</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#gdbp">gdbp</a></code></td>
<td class="name">
<code>
<span class="param-type">String</span>
</code>
</td>
<td class="name"><code><p>gdbp数据源</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#geometryType">geometryType</a></code></td>
<td class="name">
<code>
<span class="param-type">String</span>
</code>
</td>
<td class="name"><code><p>几何类型</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#labelingInfo">labelingInfo</a></code></td>
<td class="name">
<code>
<span class="param-type">Array.<<a link="Array.<LabelClass>.html" onclick="getTypeHTML(event)" href="LabelClass.html">LabelClass</a>></span>
</code>
</td>
<td class="name"><code><p>注记样式数组,默认取数组的第一个样式,仅支持三维动态注记渲染</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#labelsVisible">labelsVisible</a></code></td>
<td class="name">
<code>
<span class="param-type">Boolean</span>
</code>
</td>
<td class="name"><code><p>是否开启动态注记,仅支持三维动态注记渲染</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#outFields">outFields</a></code></td>
<td class="name">
<code>
<span class="param-type">Array.<String></span>
</code>
</td>
<td class="name"><code><p>服务返回的要素字段名数组</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#renderer">renderer</a></code></td>
<td class="name">
<code>
<span class="param-type"><a link="BaseRenderer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="BaseRenderer" BaseRenderer.html>BaseRenderer</a></span>
</code>
</td>
<td class="name"><code><p>渲染器</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#renderMode">renderMode</a></code></td>
<td class="name">
<code>
<span class="param-type">String</span>
</code>
</td>
<td class="name"><code><p>渲染模式,分为客户端渲染'client'和服务器端渲染'server'</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#sublayerId">sublayerId</a></code></td>
<td class="name">
<code>
<span class="param-type">Number</span>
|
<span class="param-type">String</span>
</code>
</td>
<td class="name"><code><p>要素图层index</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#supportArc3">supportArc3</a></code></td>
<td class="name">
<code>
<span class="param-type">Boolean</span>
</code>
</td>
<td class="name"><code><p>是否返回三点弧段数据,为true则返回三个点代表三点弧段,否则返回离散的点</p></code></td>
</tr>
</tbody>
</table>
</div>
<h4 style="margin-top: 20px;margin-bottom: 20px;">成员变量详情</h4>
<div class="members">
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">Array.<String></span>
</span>
<h4 class="name" id="capabilities">
<a class="href-link" href="#capabilities">#</a>
<span class="code-name">
capabilities
</span>
</h4>
<div class="description">
<p>服务支持的能力</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">String</span>
</span>
<h4 class="name" id="definitionExpression">
<a class="href-link" href="#definitionExpression">#</a>
<span class="code-name">
definitionExpression
</span>
</h4>
<div class="description">
<p>要素过滤条件,类似sql语句</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type"><a link="ElevationInfo.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="ElevationInfo" ElevationInfo.html>ElevationInfo</a></span>
</span>
<h4 class="name" id="elevationInfo">
<a class="href-link" href="#elevationInfo">#</a>
<span class="code-name">
elevationInfo
</span>
</h4>
<div class="description">
<p>高程模式参数</p>
</div>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a goto="elevationInfo" link="FeatureLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="FeatureLayer#elevationInfo" FeatureLayer.html#elevationInfo>FeatureLayer#elevationInfo</a>
</li></ul></dd>
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">String</span>
</span>
<h4 class="name" id="gdbp">
<a class="href-link" href="#gdbp">#</a>
<span class="code-name">
gdbp
</span>
</h4>
<div class="description">
<p>gdbp数据源</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">String</span>
</span>
<h4 class="name" id="geometryType">
<a class="href-link" href="#geometryType">#</a>
<span class="code-name">
geometryType
</span>
</h4>
<div class="description">
<p>几何类型</p>
</div>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a goto="geometryType" link="FeatureLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="FeatureLayer#geometryType" FeatureLayer.html#geometryType>FeatureLayer#geometryType</a>
</li></ul></dd>
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">Array.<<a link="Array.<LabelClass>.html" onclick="getTypeHTML(event)" href="LabelClass.html">LabelClass</a>></span>
</span>
<h4 class="name" id="labelingInfo">
<a class="href-link" href="#labelingInfo">#</a>
<span class='tag'>readonly</span>
<span class="code-name">
labelingInfo
</span>
</h4>
<div class="description">
<p>注记样式数组,默认取数组的第一个样式,仅支持三维动态注记渲染</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">Boolean</span>
</span>
<h4 class="name" id="labelsVisible">
<a class="href-link" href="#labelsVisible">#</a>
<span class='tag'>readonly</span>
<span class="code-name">
labelsVisible
</span>
</h4>
<div class="description">
<p>是否开启动态注记,仅支持三维动态注记渲染</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">Array.<String></span>
</span>
<h4 class="name" id="outFields">
<a class="href-link" href="#outFields">#</a>
<span class="code-name">
outFields
</span>
</h4>
<div class="description">
<p>服务返回的要素字段名数组</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type"><a link="BaseRenderer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="BaseRenderer" BaseRenderer.html>BaseRenderer</a></span>
</span>
<h4 class="name" id="renderer">
<a class="href-link" href="#renderer">#</a>
<span class="code-name">
renderer
</span>
</h4>
<div class="description">
<p>渲染器</p>
</div>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a goto="renderer" link="FeatureLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="FeatureLayer#renderer" FeatureLayer.html#renderer>FeatureLayer#renderer</a>
</li></ul></dd>
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">String</span>
</span>
<h4 class="name" id="renderMode">
<a class="href-link" href="#renderMode">#</a>
<span class="code-name">
renderMode
</span>
</h4>
<div class="description">
<p>渲染模式,分为客户端渲染'client'和服务器端渲染'server'</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">Number</span>
|
<span class="param-type">String</span>
</span>
<h4 class="name" id="sublayerId">
<a class="href-link" href="#sublayerId">#</a>
<span class="code-name">
sublayerId
</span>
</h4>
<div class="description">
<p>要素图层index</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">Boolean</span>
</span>
<h4 class="name" id="supportArc3">
<a class="href-link" href="#supportArc3">#</a>
<span class="code-name">
supportArc3
</span>
</h4>
<div class="description">
<p>是否返回三点弧段数据,为true则返回三个点代表三点弧段,否则返回离散的点</p>
</div>
<dl class="details">
</dl>
</div>
</div>
</div>
<div class='vertical-section'>
<h3 id='function'>方法</h3>
<h4 style="margin-top: 20px;margin-bottom: 20px;">方法概述</h4>
<div class="members">
<div class="table-container">
<table class="params table">
<thead>
<tr>
<th>名称</th>
<th>返回值类型</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr class="deep-level-0">
<td class="name"><code><a href="#fromJSON">fromJSON</a></code></td>
<td class="name">
<code>
</code>
</td>
<td class="name"><code><p>通过传入的json构造并返回一个新的几何对象<a id='fromJSON'></a></p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#clone">clone</a></code></td>
<td class="name">
<code>
<span class="param-type"><a link="FeatureLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="FeatureLayer" FeatureLayer.html>FeatureLayer</a></span>
</code>
</td>
<td class="name"><code><p>克隆方法</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#load">load</a></code></td>
<td class="name">
<code>
<span class="param-type">Promise.<<a link="Promise.<IGSFeatureLayer>.html" onclick="getTypeHTML(event)" href="IGSFeatureLayer.html">IGSFeatureLayer</a>></span>
</code>
</td>
<td class="name"><code><p>加载图层资源</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#queryFeatures">queryFeatures</a></code></td>
<td class="name">
<code>
<span class="param-type">Promise.<<a link="Promise.<FeatureSet>.html" onclick="getTypeHTML(event)" href="FeatureSet.html">FeatureSet</a>></span>
</code>
</td>
<td class="name"><code><p>指定图层的要素查询</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#queryFeaturesCount">queryFeaturesCount</a></code></td>
<td class="name">
<code>
<span class="param-type">Promise.<Number></span>
</code>
</td>
<td class="name"><code><p>查询要素数量,仅支持igs2.0</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#toJSON">toJSON</a></code></td>
<td class="name">
<code>
<span class="param-type">Object</span>
</code>
</td>
<td class="name"><code><p>转换为json对象</p></code></td>
</tr>
</tbody>
</table>
</div>
<h4 style="margin-top: 20px;margin-bottom: 20px;">方法详情</h4>
<div class="member">
<h4 class="name" id=".fromJSON">
<a class="href-link" href="#.fromJSON">#</a>
<span class='tag'>static</span>
<span class="code-name" id="fromJSON" style="font-size:30px">
fromJSON<span class="signature">(json<span class="signature-attributes">opt</span>)</span>
</span>
</h4>
<div class="description">
<p>通过传入的json构造并返回一个新的几何对象<a id='fromJSON'></a></p>
</div>
<h4>参数</h4>
<div class="table-container">
<table class="params table">
<thead>
<tr>
<th>名称</th>
<th>类型</th>
<th class="last">描述</th>
</tr>
</thead>
<tbody>
<tr class="deep-level-0">
<td class="name" id="json"><code>json</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last"><p>JSON对象</p></td>
</tr>
</tbody>
</table>
</div>
<dl class="details">
</dl>
<h5>示例</h5>
<p class="code-caption"><h7>通过传入的json构造并返回一个新的几何对象</h7></p>
<pre class="prettyprint"><code>const json = {
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/FeatureServer',
}
const igsFeatureLayer = new Zondy.Layer.IGSFeatureLayer.fromJSON(json)</code></pre>
</div>
<div class="member">
<h4 class="name" id="clone">
<a class="href-link" href="#clone">#</a>
<span class="code-name" id="clone" style="font-size:30px">
clone<span class="signature">()</span>
</span>
</h4>
<div class="description">
<p>克隆方法</p>
</div>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a goto="clone" link="FeatureLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="FeatureLayer#clone" FeatureLayer.html#clone>FeatureLayer#clone</a>
</li></ul></dd>
</dl>
<div class='columns method-parameter'>
<div class="column is-2"><label>返回值</label></div>
<div class="column is-10">
<div class="columns">
<div class='param-desc column is-7'><p>图层</p></div>
<div class='column is-5 has-text-left'>
<label>类型: </label>
<span class="param-type"><a link="FeatureLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="FeatureLayer" FeatureLayer.html>FeatureLayer</a></span>
</div>
</div>
</div>
</div>
</div>
<div class="member">
<h4 class="name" id="load">
<a class="href-link" href="#load">#</a>
<span class="code-name" id="load" style="font-size:30px">
load<span class="signature">()</span>
</span>
</h4>
<div class="description">
<p>加载图层资源</p>
</div>
<dl class="details">
</dl>
<div class='columns method-parameter'>
<div class="column is-2"><label>返回值</label></div>
<div class="column is-10">
<div class="columns">
<div class='column is-5 has-text-left'>
<label>类型: </label>
<span class="param-type">Promise.<<a link="Promise.<IGSFeatureLayer>.html" onclick="getTypeHTML(event)" href="IGSFeatureLayer.html">IGSFeatureLayer</a>></span>
</div>
</div>
</div>
</div>
<h5>示例</h5>
<p class="code-caption"><h7 id='load'>不加载图层,仅获取图层信息</h7></p>
<pre class="prettyprint"><code>// 初始化图层
const igsFeatureLayer = new Zondy.Layer.IGSFeatureLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/FeatureServer',
});
igsFeatureLayer.load().then((result) => {
// 获取完图层信息
console.log(result)
})</code></pre>
</div>
<div class="member">
<h4 class="name" id="queryFeatures">
<a class="href-link" href="#queryFeatures">#</a>
<span class="code-name" id="queryFeatures" style="font-size:30px">
queryFeatures<span class="signature">(queryOptions)</span>
</span>
</h4>
<div class="description">
<p>指定图层的要素查询</p>
</div>
<h4>参数</h4>
<div class="table-container">
<table class="params table">
<thead>
<tr>
<th>名称</th>
<th>类型</th>
<th class="last">描述</th>
</tr>
</thead>
<tbody>
<tr class="deep-level-0">
<td class="name" id="queryOptions"><code>queryOptions</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last"><p>参考此接口的入参<a class="mapgis-link-name" title="FeatureServer#queryFeatures" FeatureServer.html#queryFeatures><code>FeatureServer#queryFeatures</code></a></p></td>
</tr>
</tbody>
</table>
</div>
<dl class="details">
</dl>
<div class='columns method-parameter'>
<div class="column is-2"><label>返回值</label></div>
<div class="column is-10">
<div class="columns">
<div class='column is-5 has-text-left'>
<label>类型: </label>
<span class="param-type">Promise.<<a link="Promise.<FeatureSet>.html" onclick="getTypeHTML(event)" href="FeatureSet.html">FeatureSet</a>></span>
</div>
</div>
</div>
</div>
<h5>示例</h5>
<p class="code-caption"><h7 id='queryFeatures'>指定图层的要素查询</h7></p>
<pre class="prettyprint"><code>igsFeatureLayer.queryFeatures({
// 图层id
sublayerId: '0',
// where语句
where: "NAME='天门市'"
}).then((result) => {
console.log('查询结果:', result)
})</code></pre>
</div>
<div class="member">
<h4 class="name" id="queryFeaturesCount">
<a class="href-link" href="#queryFeaturesCount">#</a>
<span class="code-name" id="queryFeaturesCount" style="font-size:30px">
queryFeaturesCount<span class="signature">(queryOptions)</span>
</span>
</h4>
<div class="description">
<p>查询要素数量,仅支持igs2.0</p>
</div>
<h4>参数</h4>
<div class="table-container">
<table class="params ta