@mapgis/webclient-common
Version:
mapgis ES6 format for igserver
5,777 lines • 97.4 kB
HTML
<header id="page-title" class="page-title">
<span class="page-title-main">类名</span>
<span class="page-title-sub">IGSMapImageLayer</span>
</header>
<section>
<article>
<div class="container-overview">
<div class='vertical-section'>
<div class="members">
<div class="member">
<h4 class="name" id="IGSMapImageLayer">
<a class="href-link" href="#IGSMapImageLayer">#</a>
<span class="code-name" id="IGSMapImageLayer" style="font-size:30px">
new IGSMapImageLayer<span class="signature">(options)</span>
</span>
</h4>
<div class="description">
<p>IGS地图图片图层,<br/>
支持IGS1.0和2.0两个服务版本,支持自定义坐标系,当IGS版本是1.0时,需要手动设置图层坐标系,当IGS版本是2.0时,会自动读取元信息上的坐标系,不需要用户指定<br/>
<br><br>[ES5引入方式]:<br/>
zondy.layer.IGSMapImageLayer() <br/>
[ES6引入方式]:<br/>
import { IGSMapImageLayer } 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"><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"><code>url</code></td>
<td class="type">
<span class="param-type">
String
</span>
</td>
<td class="default">
</td>
<td class="description last"><p>服务基地址,可以在末尾指定子图层id,若指定,则仅显示该子图层,例如:http://{服务基地址}/子图层id,<a href='#show-sublayer'>[仅显示指定子图层]<br/></p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>httpMethod</code></td>
<td class="type">
<span class="param-type">
String
</span>
</td>
<td class="default">
"GET"
</td>
<td class="description last"><p>HTTP请求方式,默认为GET请求
IGS1.0的服务为:http://{ip}:6163/igs/rest/mrms/docs/{serviceName},暂时无法从元信息中获取坐标系,请自行指定图层坐标系,参考示例:<a href='#igs-1'>[IGS1.0的地图图片图层示例]</a><br/>
IGS2.0的服务为:http://{ip}:{port}/igs/rest/services/{folder}/{serviceName}/MapServer,参考示例:<a href='#igs-2'>[IGS2.0的地图图片图层示例]</a><br/>
删除图层方法:<a href='#remove-layer'>[删除图层]</a></p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><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"><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"><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"><code>sublayers</code></td>
<td class="type">
<span class="param-type">
Array.<Object>
</span>
|
<span class="param-type">
undefined
</span>
</td>
<td class="default">
</td>
<td class="description last"><p>会通过该参数中指定的子图层列表对地图服务中的子图层进行过滤,不在列表中的子图层将不会显示;如果没有指定该参数,则会按照地图服务中的子图层的属性显示所有子图层;如果该参数为空数组,则地图服务所有的子图层都不显示。
子图层顺序以及专题图参数仅支持IGS2.0服务,目前子图层支持的专题图如下:<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/>
参考示例:<br/>
<a href='#showAllSubLayers'>[1、显示所有子图层]</a><br/>
<a href='#showSubLayersById'>[2、根据id显示子图层]</a><br/>
<a href='#showSubLayers-method'>[3、通过方法设置子图层显隐]</a><br/>
<a href='#showSubLayers-property'>[4、通过修改子图参数,设置子图层显隐]</a><br/>
<a href='#setLayerIndex'>[5、设置子图层顺序]</a><br/>
<a href='#setLayerIndex-method'>[6、通过方法设设置子图层顺序]</a><br/>
<a href='#setLayerIndex-property'>[7、通过修改子图参数,设置子图层顺序]</a><br/>
<a href='#setLayerRenderer-unique'>[8、设置子图层专题图-单值专题图]</a><br/>
<a href='#setLayerRenderer-break'>[9、设置子图层专题图-分段专题图]</a><br/>
<a href='#setLayerRenderer-method'>[10、通过方法设置子图层专题图]</a><br/>
<a href='#setLayerRenderer-property'>[11、通过修改子图参数,设置子图层专题图]</a><br/></p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>spatialReference</code></td>
<td class="type">
<span class="param-type">
<a link="SpatialReference.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="SpatialReference" SpatialReference.html>SpatialReference</a>
</span>
</td>
<td class="default">
</td>
<td class="description last"><p>图层坐标系,支持4326(包含4490,4214以及4610)、3857以及EPSG上的自定义坐标系,坐标系默认从元信息中获取,也可指定坐标系,
参考示例:<a href='#spatialReference'>[设置图层坐标系]</a></p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>imageWidth</code></td>
<td class="type">
<span class="param-type">
Number
</span>
</td>
<td class="default">
256
</td>
<td class="description last"><p>图片宽度,单位px,参考示例:<a href='#tileSize'>[设置图片大小]</a></p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>imageHeight</code></td>
<td class="type">
<span class="param-type">
Number
</span>
</td>
<td class="default">
256
</td>
<td class="description last"><p>图片高度,单位px,参考示例:<a href='#tileSize'>[设置图片大小]</a></p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>minScale</code></td>
<td class="type">
<span class="param-type">
Number
</span>
</td>
<td class="default">
0
</td>
<td class="description last"><p>最小显示比例尺,图层在视图中可见的最小比例尺(最缩小)。如果地图被缩小到超过这个比例,图层将不可见。默认值为0,0表示图层没有最小比例尺、可见性不受最小比例尺限制。minScale应该始终大于maxScale</p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>maxScale</code></td>
<td class="type">
<span class="param-type">
Number
</span>
</td>
<td class="default">
0
</td>
<td class="description last"><p>最大显示比例尺,图层在视图中可见的最大比例尺(最放大)。如果地图被放大到超过这个比例,图层将不可见。默认值为0,0表示图层没有最大比例尺、可见性不受最大比例尺限制。maxScale应该始终小于minScale</p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><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"><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"><code>imageTransparency</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>
<tr class="deep-level-1">
<td class="name"><code>clippingArea</code></td>
<td class="type">
<span class="param-type">
<a link="Polygon.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Polygon" Polygon.html>Polygon</a>
</span>
|
<span class="param-type">
<a link="Extent.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Extent" Extent.html>Extent</a>
</span>
|
<span class="param-type">
<a link="Circle.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Circle" Circle.html>Circle</a>
</span>
|
<span class="param-type">
<a link="MultiPolygon.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="MultiPolygon" MultiPolygon.html>MultiPolygon</a>
</span>
|
<span class="param-type">
null
</span>
</td>
<td class="default">
null
</td>
<td class="description last"><p>图层空间裁剪范围,仅支持多多边形裁剪、多边形裁剪、矩形裁剪、圆形裁剪</p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>renderMode</code></td>
<td class="type">
<span class="param-type">
String
</span>
</td>
<td class="default">
'tile'
</td>
<td class="description last"><p>影像的展现形式。可选'tile' 、 'image'。默认为'tile',加载影像时以瓦片的方式平铺。当选项为'image'时,加载影像会请求一张覆盖当前屏幕的图像。</p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>clientId</code></td>
<td class="type">
<span class="param-type">
String
</span>
</td>
<td class="default">
</td>
<td class="description last"><p>客户端id,用户的唯一标识;在地图服务中,调用接口时如果修改了地图的状态,包括设置动态投影、设置图层显示隐藏等,为了提升并发性能,服务端会根据clientId来生成临时地图,最佳做法是一个浏览器生成一个固定的唯一值;建议普通用户不要传该参数,webclient会根据当前浏览器生成一个固定的唯一值</p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>isAntialiasing</code></td>
<td class="type">
<span class="param-type">
Boolean
</span>
</td>
<td class="default">
null
</td>
<td class="description last"><p>返回的图片时,是否开启服务端抗锯齿功能;启用抗锯齿功能后,显示效果会更清晰,但会导致出图速度变慢,true表示开启抗锯齿,false表示关闭抗锯齿,如果没有设置,则默认应用地图文档(MapX)上的设置参数</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 href="#图层加载完毕事件">图层加载完毕事件</a></li>
<li><a href="#图层销毁完毕事件">图层销毁完毕事件</a></li>
<li><a href="#图层更新完毕事件">图层更新完毕事件</a></li>
<li><a href="#图层显隐更新完毕事件">图层显隐更新完毕事件</a></li>
<li><a href="#图层透明度更新完毕事件">图层透明度更新完毕事件</a></li>
<li><a href="#图层顺序更新完毕事件">图层顺序更新完毕事件</a></li>
<li><a href="#图层刷新完毕事件">图层刷新完毕事件</a></li>
<li><a href="#子图层显隐更新完毕事件">子图层显隐更新完毕事件</a></li>
</ul>
</div>
</div>
<p class="summary"><h5>支持如下方法:</h5>
<a href='#load'>[1、加载图层资源]</a><br/>
<a href='#findSublayerById'>[2、根据子图层id查询子图层]</a><br/>
<a class="mapgis-link-name" title="Layer#refresh" Layer.html#refresh><code>3、刷新图层</code></a><br/>
<a href='#fetchImage'>[4、根据范围和大小获取image标签]</a><br/>
<a href='#getImageUrl'>[5、根据参数获取图片的url]</a><br/>
<a href='#setSubLayer'>[6、更新子图层]</a><br/>
<a href='#toJSON'>[7、将图层转为json对象]</a><br/>
<a href='#clone'>[8、克隆图层对象]</a><br/></p>
<h5>示例</h5>
<p class="code-caption"><h7 id='igs-1'>IGS1.0的地图图片图层示例</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { SpatialReference } = zondy
const { IGSMapImageLayer } = zondy.layer
// ES6引入方式
import { SpatialReference,IGSMapImageLayer } from "@mapgis/webclient-common"
// 添加图层
const igsMapImageLayer = new IGSMapImageLayer({
// 服务基地址
url: 'http://{ip}:6163/igs/rest/mrms/docs/{serviceName}',
// IGS1.0服务,暂时无法从元信息中获取坐标系,请自行指定图层坐标系
spatialReference: new SpatialReference({
wkid: 4326
})
});</code></pre>
<p class="code-caption"><h7 id='igs-2'>IGS2.0的地图图片图层示例</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSMapImageLayer } = zondy.layer
// ES6引入方式
import { IGSMapImageLayer } from "@mapgis/webclient-common"
// 添加图层
const igsMapImageLayer = new IGSMapImageLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer'
});</code></pre>
<p class="code-caption"><h7 id='spatialReference'>指定地图图片图层的坐标系示例</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { SpatialReference} = zondy
const { IGSMapImageLayer } = zondy.layer
// ES6引入方式
import { SpatialReference,IGSMapImageLayer } from "@mapgis/webclient-common"
// 添加图层
const igsMapImageLayer = new IGSMapImageLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
// 自定义坐标新
spatialReference: new SpatialReference({
// 指定的wkid号,可在https://epsg.io/网站查询
wkid: '指定的wkid号'
})
});</code></pre>
<p class="code-caption"><h7 id='tileSize'>IGS2.0的地图图层示例 - 设置图片大小</h7></p>
<pre class="prettyprint"><code> // ES5引入方式
const { IGSMapImageLayer } = zondy.layer
// ES6引入方式
import { IGSMapImageLayer } from "@mapgis/webclient-common"
// 添加图层
const igsMapImageLayer = new IGSMapImageLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
// 瓦片宽度
imageWidth: 512,
// 瓦片高度
imageHeight: 512
});</code></pre>
<p class="code-caption"><h7 id='showAllSubLayers'>显示所有子图层</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSMapImageLayer } = zondy.layer
// ES6引入方式
import { IGSMapImageLayer } from "@mapgis/webclient-common"
// 添加图层
const igsMapImageLayer = new IGSMapImageLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
// 当sublayers为空时显示所有子图层
sublayers: []
});</code></pre>
<p class="code-caption"><h7 id='showSubLayersById'>根据id显示子图层</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSMapImageLayer } = zondy.layer
// ES6引入方式
import { IGSMapImageLayer } from "@mapgis/webclient-common"
// 添加图层
const igsMapImageLayer = new IGSMapImageLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
// 根据id显示子图层
sublayers: [
{
// 子图层id
id: 1,
// 显示子图层
visible: true
},
{
id: 2,
sublayers: [{
id: '2-23',
visible: true
}]
}
]
});</code></pre>
<p class="code-caption"><h7 id='showSubLayers-method'>通过方法设置子图层显隐</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSMapImageLayer } = zondy.layer
// ES6引入方式
import { IGSMapImageLayer } from "@mapgis/webclient-common"
// 添加图层
const igsMapImageLayer = new IGSMapImageLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer'
});
map.add(igsMapImageLayer);
// 通过方法设置子图层显隐
igsMapImageLayer.setSubLayer({
id: 0,
visible: false
})</code></pre>
<p class="code-caption"><h7 id='showSubLayers-property'>通过修改子图参数,设置子图层显隐</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSMapImageLayer } = zondy.layer
// ES6引入方式
import { IGSMapImageLayer } from "@mapgis/webclient-common"
// 添加图层
const igsMapImageLayer = new IGSMapImageLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer'
});
// 根据id获取子图层
const subLayer = igsMapImageLayer.findSublayerById(0)
// 设置子图层显隐
subLayer.visible = false</code></pre>
<p class="code-caption"><h7 id='setLayerIndex-property'>通过修改子图参数,设置子图层顺序</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSMapImageLayer } = zondy.layer
// ES6引入方式
import { IGSMapImageLayer } from "@mapgis/webclient-common"
const igsMapImageLayer = new IGSMapImageLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer'
});
map.add(igsMapImageLayer);
// 根据id获取子图层
const subLayer = igsMapImageLayer.findSublayerById(0)
// 设置子图层顺序
subLayer.index = 2</code></pre>
<p class="code-caption"><h7 id='setLayerRenderer-unique'>设置子图层专题图-单值专题图</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSMapImageLayer } = zondy.layer
const { UniqueValueRenderer } = zondy.renderer
const { SimpleFillSymbol,SimpleLineSymbol } = zondy.symbol
const { Color } = zondy
// ES6引入方式
import { IGSMapImageLayer,UniqueValueRenderer,SimpleFillSymbol,SimpleLineSymbol,Color } from "@mapgis/webclient-common"
igsMapImageLayer = new IGSMapImageLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
// 设置子图层专题图
sublayers: [
{
// 子图层id
id: '子图层id',
// 专题图参数
renderer: new UniqueValueRenderer({
//字段名
field: '你的字段名',
// 默认符号,不在专题图指定范围内的会采用该样式,可不设置
defaultSymbol: new SimpleFillSymbol({
// 填充颜色
color: 'rgba(1,1,252,0)',
// 外边线样式
outline: new SimpleLineSymbol({
//线颜色
color: new Color(255, 1, 0, 1),
//线宽
width: 1
})
}),
//单值专题图字段样式
uniqueValueInfos: [{
//指定字段值
value: "指定的值",
//匹配到该值后的样式
symbol: new SimpleFillSymbol({
// 填充颜色
color: 'rgba(1,1,252,1)',
// 外边线样式
outline: new SimpleLineSymbol({
//线符号颜色
color: new Color(255, 1, 0, 11),
//线宽
width: 1
})
})
},{
//指定字段值
value: "指定的值",
//匹配到该值后的样式
symbol: new SimpleFillSymbol({
// 填充颜色
color: new Color(211, 111, 11, 1)
})
}]
})
}
]
});</code></pre>
<p class="code-caption"><h7 id='setLayerRenderer-break'>设置子图层专题图-分段专题图</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSMapImageLayer } = zondy.layer
const { ClassBreakRenderer } = zondy.renderer
const { SimpleFillSymbol,SimpleLineSymbol } = zondy.symbol
const { Color } = zondy
// ES6引入方式
import { IGSMapImageLayer,ClassBreakRenderer,SimpleFillSymbol,SimpleLineSymbol,Color } from "@mapgis/webclient-common"
const igsMapImageLayer = new IGSMapImageLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
// 设置子图层专题图
sublayers: [
{
// 子图层id
id: '子图层id',
// 专题图参数
renderer: new ClassBreakRenderer({
//字段名
field: '你的字段名',
// 指定默认样式,不在专题图指定范围内的会采用该样式,可不设置
defaultSymbol: new SimpleFillSymbol({
// 填充颜色
color: 'rgba(222,1,252,1)',
// 线符号样式
outline: new SimpleLineSymbol({
//线符号颜色
color: new Color(255, 1, 0, 1),
//线宽
width: 1
})
}),
//单值专题图字段样式
classBreakInfos: [{
// 最大范围
maxValue: "最大范围",
// 最小范围
minValue: "最小范围",
//匹配到该值后的样式
symbol: new SimpleFillSymbol({
// 填充颜色
color: 'rgba(1,1,252,1)',
// 线符号样式
outline: new SimpleLineSymbol({
//线符号颜色
color: new Color(255, 1, 0, 1),
//线宽
width: 1
})
})
}]
})
}
]
});</code></pre>
<p class="code-caption"><h7 id='setLayerRenderer-method'>通过方法设置子图层专题图</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSMapImageLayer } = zondy.layer
const { ClassBreakRenderer } = zondy.renderer
const { SimpleFillSymbol,SimpleLineSymbol } = zondy.symbol
const { Color } = zondy
// ES6引入方式
import { IGSMapImageLayer,ClassBreakRenderer,SimpleFillSymbol,SimpleLineSymbol,Color } from "@mapgis/webclient-common"
const igsMapImageLayer = new zondy.layer.IGSMapImageLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer'
});
// 设置子图层专题图
igsMapImageLayer.setSubLayer({
// 子图层id
id: '子图层id',
// 专题图参数
renderer: new zondy.renderer.ClassBreakRenderer({
//字段名
field: '你的字段名',
// 指定默认样式,不在专题图指定范围内的会采用该样式,可不设置
defaultSymbol: new zondy.symbol.SimpleFillSymbol({
// 填充颜色
color: 'rgba(222,1,252,1)',
// 线符号样式
outline: new zondy.symbol.SimpleLineSymbol({
//线符号颜色
color: new zondy.Color(255, 1, 0, 1),
//线宽
width: 1
})
}),
//单值专题图字段样式
classBreakInfos: [{
// 最大范围
maxValue: "最大范围",
// 最小范围
minValue: "最小范围",
//匹配到该值后的样式
symbol: new zondy.symbol.SimpleFillSymbol({
// 填充颜色
color: 'rgba(1,1,252,1)',
// 线符号样式
outline: new zondy.symbol.SimpleLineSymbol({
//线符号颜色
color: new zondy.Color(255, 1, 0, 1),
//线宽
width: 1
})
})
}]
})
})</code></pre>
<p class="code-caption"><h7 id='setLayerRenderer-property'>通过修改子图参数,设置子图层专题图</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSMapImageLayer } = zondy.layer
const { ClassBreakRenderer } = zondy.renderer
const { SimpleFillSymbol,SimpleLineSymbol } = zondy.symbol
const { Color } = zondy
// ES6引入方式
import { IGSMapImageLayer,ClassBreakRenderer,SimpleFillSymbol,SimpleLineSymbol,Color } from "@mapgis/webclient-common"
const igsMapImageLayer = new IGSMapImageLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer'
});
// 根据id获取子图层
const subLayer = igsMapImageLayer.findSublayerById(0)
// 设置子图专题图
subLayer.renderer = new ClassBreakRenderer({
//字段名
field: '你的字段名',
// 指定默认样式,不在专题图指定范围内的会采用该样式,可不设置
defaultSymbol: new SimpleFillSymbol({
// 填充颜色
color: 'rgba(222,1,252,1)',
// 线符号样式
outline: new SimpleLineSymbol({
//线符号颜色
color: new Color(255, 1, 0, 1),
//线宽
width: 1
})
}),
//单值专题图字段样式
classBreakInfos: [{
// 最大范围
maxValue: "最大范围",
// 最小范围
minValue: "最小范围",
//匹配到该值后的样式
symbol: new SimpleFillSymbol({
// 填充颜色
color: 'rgba(1,1,252,1)',
// 线符号样式
outline: new SimpleLineSymbol({
//线符号颜色
color: new Color(255, 1, 0, 1),
//线宽
width: 1
})
})
}]
})</code></pre>
<p class="code-caption"><h7 id='opacity'>设置图层透明度</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSMapImageLayer } = zondy.layer
// ES6引入方式
import { IGSMapImageLayer } from "@mapgis/webclient-common"
// 初始化时设置
const igsMapImageLayer = new IGSMapImageLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
// 设置透明度
opacity: 1.0
});
// 加载完成后设置
igsMapImageLayer.on('layerview-created', function (result) {
console.log("加载完毕:", result.layer)
// 视点跳转
igsMapImageLayer.opacity = 0.5
})</code></pre>
<p class="code-caption"><h7 id='visible'>显示或隐藏图层</h7></p>
<pre class="prettyprint"><code>/ ES5引入方式
const { IGSMapImageLayer } = zondy.layer
// ES6引入方式
import { IGSMapImageLayer } from "@mapgis/webclient-common"
// 初始化时设置
const igsMapImageLayer = new IGSMapImageLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
// 显示或隐藏图层
visible: true
});
// 加载完成后设置
igsMapImageLayer.on('layerview-created', function (result) {
console.log("加载完毕:", result.layer)
// 显示或隐藏图层
igsMapImageLayer.visible = !igsMapImageLayer.visible
})</code></pre>
<p class="code-caption"><h7 id='remove-layer'>删除图层</h7></p>
<pre class="prettyprint"><code>map.remove(igsMapImageLayer)</code></pre>
<p class="code-caption"><h7 id='show-sublayer'>显示指定子图层</h7></p>
<pre class="prettyprint"><code>/ ES5引入方式
const { IGSMapImageLayer } = zondy.layer
// ES6引入方式
import { IGSMapImageLayer } from "@mapgis/webclient-common"
// 初始化时设置
const igsMapImageLayer = new IGSMapImageLayer({
// 服务基地址,可指定子图层id
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer/{子图层id}',
// 显示或隐藏图层
visible: true
});</code></pre>
<p class="code-caption"><h7>添加arcgis的MapImage图层</h7></p>
<pre class="prettyprint"><code>// 初始化图层管理容器
/ ES5引入方式
const { SpatialReference} = zondy
const { IGSMapImageLayer} = zondy.layer
// ES6引入方式
import { SpatialReference, IGSMapImageLayer } from "@mapgis/webclient-common"
const arcgisMapImageLayer = new IGSMapImageLayer({
url: 'https://map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetWarm/MapServer',
// 注意一个MapImage图层可能支持多个坐标系,这里指定4326坐标系
spatialReference: new SpatialReference({
wkid: 4326
})
});
// 图层加载完毕
igsMapImageLayer.on('layerview-created', function (result) {
console.log("加载完毕:", result.layer)
})</code></pre>
<p class="code-caption"><h7 id='index'>图层顺序</h7></p>
<pre class="prettyprint"><code>// 加载完毕后,更改图层顺序
map.reorder(igsMapImageLayer, '要移动到的index');</code></pre>
</div>
</div>
</div>
</div>
<h3 class="subsection-title">继承关系</h3>
<ul>
<li><a link="MapImageLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="MapImageLayer" MapImageLayer.html>MapImageLayer</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="#allSublayers">allSublayers</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="Collection.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Collection" Collection.html>Collection</a>
</span>
</code>
</td>
<td class="name"><code><p>所有子图层信息</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#capabilities">capabilities</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="#clientId">clientId</a></code></td>
<td class="name">
<code>
<span class="param-type">
String
</span>
</code>
</td>
<td class="name"><code><p>客户端Id</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#clippingArea">clippingArea</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="Polygon.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Polygon" Polygon.html>Polygon</a>
</span>
|
<span class="param-type">
<a link="Extent.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Extent" Extent.html>Extent</a>
</span>
|
<span class="param-type">
<a link="Circle.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Circle" Circle.html>Circle</a>
</span>
|
<span class="param-type">
<a link="MultiPolygon.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="MultiPolygon" MultiPolygon.html>MultiPolygon</a>
</span>
|
<span class="param-type">
null
</span>
</code>
</td>
<td class="name"><code><p>空间裁剪范围</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#description">description</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="#documentInfo">documentInfo</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="#extent">extent</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="#imageFormat">imageFormat</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="#imageHeight">imageHeight</a></code></td>
<td class="name">
<code>
<span class="param-type">
Number
</span>
</code>
</td>
<td class="name"><code><p>瓦片化显示时,瓦片高度</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#imageTransparency">imageTransparency</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="#imageWidth">imageWidth</a></code></td>
<td class="name">
<code>
<span class="param-type">
Number
</span>
</code>
</td>
<td class="name"><code><p>瓦片化显示时,瓦片宽度</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#isAntialiasing">isAntialiasing</a></code></td>
<td class="name">
<code>
<span class="param-type">
Boolean
</span>
</code>
</td>
<td class="name"><code><p>返回的图片是否抗锯齿,启用抗锯齿功能后,会导致出图速度变慢,true表示开启抗锯齿,false表示关闭抗锯齿,如果没有设置,则默认应用地图文档(MapX)上的设置</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#isAntialiasing">isAntialiasing</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="#mapName">mapName</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="#renderMode">renderMode</a></code></td>
<td class="name">
<code>
<span class="param-type">
String
</span>
</code>
</td>
<td class="name"><code><p>影像的展现形式。可选'tile' 、 'image'。默认为'tile',加载影像时以瓦片的方式平铺。当选项为'image'时,加载影像会请求一张覆盖当前屏幕的图像。</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#spatialReference">spatialReference</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="SpatialReference.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="SpatialReference" SpatialReference.html>SpatialReference</a>
</span>
</code>
</td>
<td class="name"><code><p>图层坐标系对象</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#sublayers">sublayers</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="Collection.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Collection" Collection.html>Collection</a>
</span>
</code>
</td>
<td class="name"><code><p>子图层对象</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#type">type</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="#url">url</a></code></td>
<td class="name">
<code>
<span class="param-type">
String
</span>
</code>
</td>
<td class="name"><code><p>服务基地址</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">
<a link="Collection.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Collection" Collection.html>Collection</a>
</span>
</span>
<h4 class="name" id="allSublayers">
<a class="href-link" href="#allSublayers">#</a>
<span class="code-name">
allSublayers
</span>
</h4>
<div class="description">
<p>所有子图层信息</p>
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a class="mapgis-link-name" title="MapImageLayer#allSublayers" MapImageLayer.html#allSublayers>MapImageLayer#allSublayers</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="capabilities">
<a class="href-link" href="#capabilities">#</a>
<span class='tag'>readonly</span>
<span class="code-name">
capabilities
</span>
</h4>
<div class="description">
<p>可提供的服务</p>
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a class="mapgis-link-name" title="MapImageLayer#capabilities" MapImageLayer.html#capabilities>MapImageLayer#capabilities</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="clientId">
<a class="href-link" href="#clientId">#</a>
<span class="code-name">
clientId
</span>
</h4>
<div class="description">
<p>客户端Id</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="Polygon.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Polygon" Polygon.html>Polygon</a>
</span>
|
<span class="param-type">
<a link="Extent.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Extent" Extent.html>Extent</a>
</span>
|
<span class="param-type">
<a link="Circle.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Circle" Circle.html>Circle</a>
</span>
|
<span class="param-type">
<a link="MultiPolygon.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="MultiPolygon" MultiPolygon.html>MultiPolygon</a>
</span>
|
<span class="param-type">
null
</span>
</span>
<h4 class="name" id="clippingArea">
<a class="href-link" href="#clippingArea">#</a>
<span class="code-name">
clippingArea
</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="description">
<a class="href-link" href="#description">#</a>
<span class='tag'>readonly</span>
<span class="code-name">
description
</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="documentInfo">
<a class="href-link" href="#documentInfo">#</a>
<span class='tag'>readonly</span>
<span class="code-name">
documentInfo
</span>
</h4>
<div class="description">
<p>地图文档信息</p>
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a class="mapgis-link-name" title="MapImageLayer#documentInfo" MapImageLayer.html#documentInfo>MapImageLayer#documentInfo</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="extent">
<a class="href-link" href="#extent">#</a>
<span class='tag'>readonly</span>
<span class="code-name">
extent
</span>
</h4>
<div class="description">
<p>图层范围,从服务中读取,仅会请求在该范围内的瓦片</p>
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a class="mapgis-link-name" title="MapImageLayer#extent" MapImageLayer.html#extent>MapImageLayer#extent</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="imageFormat">
<a class="href-link" href="#imageFormat">#</a>
<span class="code-name">
imageFormat
</span>
</h4>
<div class="description">
<p>图片格式</p>
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a class="mapgis-link-name" title="MapImageLayer#imageFormat" MapImageLayer.html#imageFormat>MapImageLayer#imageFormat</a>
</li></ul></dd>
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
Number
</span>
</span>
<h4 class="name" id="imageHeight">
<a class="href-link" href="#imageHeight">#</a>
<span class="code-name">
imageHeight
</span>
</h4>
<div class="description">
<p>瓦片化显示时,瓦片高度</p>
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a class="mapgis-link-name" title="MapImageLayer#imageHeight" MapImageLayer.html#imageHeight>MapImageLayer#imageHeight</a>
</li></ul></dd>
</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="imageTransparency">
<a class="href-link" href="#imageTransparency">#</a>
<span class="code-name">
imageTransparency
</span>
</h4>
<div class="description">
<p>图片中没有数据的地方是否透明</p>
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a class="mapgis-link-name" title="MapImageLayer#imageTransparency" MapImageLayer.html#imageTransparency>MapImageLayer#imageTransparency</a>
</li></ul></dd>
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
Number
</span>
</span>
<h4 class="name" id="imageWidth">
<a class="href-link" href="#imageWidth">#</a>
<span class="code-name">
imageWidth
</span>
</h4>
<div class="description">
<p>瓦片化显示时,瓦片宽度</p>
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a class="mapgis-link-name" title="MapImageLayer#imageWidth" MapImageLayer.html#imageWidth>MapImageLayer#imageWidth</a>
</li></ul></dd>
</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="isAntialiasing">
<a class="href-link" href="#isAntialiasing">#</a>
<span class="code-name">
isAntialiasing
</span>
</h4>
<div class="description">
<p>返回的图片是否抗锯齿,启用抗锯齿功能后,会导致出图速度变慢,true表示开启抗锯齿,false表示关闭抗锯齿,如果没有设置,则默认应用地图文档(MapX)上的设置</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="isAntialiasing">
<a class="href-link" href="#isAntialiasing">#</a>
<span class="code-name">
isAntialiasing
</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="mapName">
<a class="href-link" href="#mapName">#</a>
<span class='tag'>readonly</span>
<span class="code-name">
mapName
</span>
</h4>
<div class="description">
<p>地图名称</p>
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a class="mapgis-link-name" title="MapImageLayer#mapName" MapImageLayer.html#mapName>MapImageLayer#mapName</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='tag'>readonly</span>
<span class="code-name">
renderMode
</span>
</h4>
<div class="description">
<p>影像的展现形式。可选'tile' 、 'image'。默认为'tile',加载影像时以瓦片的方式平铺。当选项为'image'时,加载影像会请求一张覆盖当前屏幕的图像。</p>
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a class="mapgis-link-name" title="MapImageLayer#renderMode" MapImageLayer.html#renderMode>MapImageLayer#renderMode</a>
</li></ul></dd>
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
<a link="SpatialReference.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="SpatialReference" SpatialReference.html>SpatialReference</a>
</span>
</span>
<h4 class="name" id="spatialReference">
<a class="href-link" href="#spatialReference">#</a>
<span class="code-name">
spatialReference
</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="spatialReference" link="MapImageLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="MapImageLayer#spatialReference" MapImageLayer.html#spatialReference>MapImageLayer#spatialReference</a>
</li></ul></dd>
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
<a link="Collection.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Collection" Collection.html>Collection</a>
</span>
</span>
<h4 class="name" id="sublayers">
<a class="href-link" href="#sublayers">#</a>
<span class="code-name">
sublayers
</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="sublayers" link="MapImageLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="MapImageLayer#sublayers" MapImageLayer.html#sublayers>MapImageLayer#sublayers</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="type">
<a class="href-link" href="#type">#</a>
<span class='tag'>readonly</span>
<span class="code-name">
type
</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="url">
<a class="href-link" href="#url">#</a>
<span class='tag'>readonly</span>
<span class="code-name">
url
</span>
</h4>
<div class="description">
<p>服务基地址</p>
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a class="mapgis-link-name" title="MapImageLayer#url" MapImageLayer.html#url>MapImageLayer#url</a>
</li></ul></dd>
</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="#clone">clone</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="IGSMapImageLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="IGSMapImageLayer" IGSMapImageLayer.html>IGSMapImageLayer</a>
</span>
</code>
</td>
<td class="name"><code><p>克隆图层对象</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#fromJSON">fromJSON</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="IGSMapImageLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="IGSMapImageLayer" IGSMapImageLayer.html>IGSMapImageLayer</a>
</span>
</code>
</td>
<td class="name"><code><p>通过json对象构造并返回一个IGSMapImageLayer对象</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="#fetchImage">fetchImage</a></code></td>
<td class="name">
<code>
<span class="param-type">
Promise
</span>
</code>
</td>
<td class="name"><code><p>根据范围和大小获取image标签</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#findSublayerById">findSublayerById</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="IGSMapImageSubLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="IGSMapImageSubLayer" IGSMapImageSubLayer.html>IGSMapImageSubLayer</a>
</span>
|
<span class="param-type">
null
</span>
</code>
</td>
<td class="name"><code><p>根据子图层id查询子图层</code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#getFilters">getFilters</a></code></td>
<td class="name">
<code>
<span class="param-type">
Object
</span>
</code>
</td>
<td class="name"><code><p>获取服务端要素过滤参数字符串</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#getImageUrl">getImageUrl</a></code></td>
<td class="name">
<code>
<span class="param-type">
String
</span>
</code>
</td>
<td class="name"><code><p>根据参数获取图片的url</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#load">load</a></code></td>
<td class="name">
<code>
</code>
</td>
<td class="name"><code><p>加载图层资源</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#setSubLayer">setSubLayer</a></code></td>
<td class="name">
<code>
</code>
</td>
<td class="name"><code><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=".clone">
<a class="href-link" href="#.clone">#</a>
<span class='tag'>static</span>
<span class="code-name" id="clone" style="font-size:30px">
clone<span class="signature">(igsMapImageLayer)</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"><code>igsMapImageLayer</code></td>
<td class="type">
<span class="param-type">
<a link="IGSMapImageLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="IGSMapImageLayer" IGSMapImageLayer.html>IGSMapImageLayer</a>
</span>
</td>
<td class="description last"><p>被克隆的对象</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='param-desc column is-7'><p>克隆后的图层对象</p></div>
<div class='column is-5 has-text-left'>
<label>类型: </label>
<span class="param-type">
<a link="IGSMapImageLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="IGSMapImageLayer" IGSMapImageLayer.html>IGSMapImageLayer</a>
</span>
</div>
</div>
</div>
</div>
<h5>示例</h5>
<p class="code-caption"><h7 id='getImageUrl'>根据参数获取图片的url</h7></p>
<pre class="prettyprint"><code>// 添加图层
const igsMapImageLayer = new zondy.layer.IGSMapImageLayer({
// 服务基地址
url: 'http://{ip}:6163/igs/rest/mrms/docs/{serviceName}'
});
const newLayer = zondy.layer.IGSMapImageLayer.clone(igsMapImageLayer)</code></pre>
</div>
<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>
</span>
</h4>
<div class="description">
<p>通过json对象构造并返回一个IGSMapImageLayer对象</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"><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>
<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>新的IGSMapImageLayer对象</p></div>
<div class='column is-5 has-text-left'>
<label>类型: </label>
<span class="param-type">
<a link="IGSMapImageLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="IGSMapImageLayer" IGSMapImageLayer.html>IGSMapImageLayer</a>
</span>
</div>
</div>
</div>
</div>
</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="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a class="mapgis-link-name" title="MapImageLayer#clone" MapImageLayer.html#clone>MapImageLayer#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="fetchImage">
<a class="href-link" href="#fetchImage">#</a>
<span class="code-name" id="fetchImage" style="font-size:30px">
fetchImage<span class="signature">(extent, width<span class="signature-attributes">opt</span>, height<span class="signature-attributes">opt</span>)</span>
</span>
</h4>
<div class="description">
<p>根据范围和大小获取image标签</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"><code>extent</code></td>
<td class="type">
<span class="param-type">
<a link="Extent.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Extent" Extent.html>Extent</a>
</span>
</td>
<td class="default">
</td>
<td class="description last"><p>范围参数</p></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code>width</code></td>
<td class="type">
<span class="param-type">
Number
</span>
</td>
<td class="default">
256
</td>
<td class="description last"><p>图片宽度,单位px</p></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code>height</code></td>
<td class="type">
<span class="param-type">
Number
</span>
</td>
<td class="default">
256
</td>
<td class="description last"><p>图片高度,单位px</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='param-desc column is-7'><p>请求完毕的返回Promise</p></div>
<div class='column is-5 has-text-left'>
<label>类型: </label>
<span class="param-type">
Promise
</span>
</div>
</div>
</div>
</div>
<h5>示例</h5>
<p class="code-caption"><h7 id='fetchImage'>根据范围和大小获取image标签</h7></p>
<pre class="prettyprint"><code>igsMapImageLayer.fetchImage({
// 你的范围
extent: new zondy.geometry.Extent(),
// 图片宽度
width: 256,
// 图片高度
height: 256
}).then((image) => {
// 这里返回一个html的image标签
})</code></pre>
</div>
<div class="member">
<h4 class="name" id="findSublayerById">
<a class="href-link" href="#findSublayerById">#</a>
<span class="code-name" id="findSublayerById" style="font-size:30px">
findSublayerById<span class="signature">(id)</span>
</span>
</h4>
<div class="description">
<p>根据子图层id查询子图层<a id='findSublayerById'></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"><code>id</code></td>
<td class="type">
<span class="param-type">
String
</span>
</td>
<td class="description last"><p>子图层id</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='param-desc column is-7'><p>子图层信息</p></div>
<div class='column is-5 has-text-left'>
<label>类型: </label>
<span class="param-type">
<a link="IGSMapImageSubLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="IGSMapImageSubLayer" IGSMapImageSubLayer.html>IGSMapImageSubLayer</a>
</span>
|
<span class="param-type">
null
</span>
</div>
</div>
</div>
</div>
</div>
<div class="member">
<h4 class="name" id="getFilters">
<a class="href-link" href="#getFilters">#</a>
<span class="code-name" id="getFilters" style="font-size:30px">
getFilters<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='param-desc column is-7'><p>服务端要素过滤参数,格式为{"子图层id":{"where":"sql语句"}}</p></div>
<div class='column is-5 has-text-left'>
<label>类型: </label>
<span class="param-type">
Object
</span>
</div>
</div>
</div>
</div>
</div>
<div class="member">
<h4 class="name" id="getImageUrl">
<a class="href-link" href="#getImageUrl">#</a>
<span class="code-name" id="getImageUrl" style="font-size:30px">
getImageUrl<span class="signature">(options)</span>
</span>
</h4>
<div class="description">
<p>根据参数获取图片的url</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"><code>options</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>extent</code></td>
<td class="type">
<span class="param-type">
<a link="Extent.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Extent" Extent.html>Extent</a>
</span>
</td>
<td class="description last"><p>图片范围</p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>width</code></td>
<td class="type">
<span class="param-type">
Number
</span>
</td>
<td class="description last"><p>图片宽度</p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>height</code></td>
<td class="type">
<span class="param-type">
Number
</span>
</td>
<td class="description last"><p>图片高度</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='param-desc column is-7'><p>图片的url</p></div>
<div class='column is-5 has-text-left'>
<label>类型: </label>
<span class="param-type">
String
</span>
</div>
</div>
</div>
</div>
<h5>示例</h5>
<p class="code-caption"><h7 id='getImageUrl'>根据参数获取图片的url</h7></p>
<pre class="prettyprint"><code>const url = igsMapImageLayer.getImageUrl({
// 你的范围
extent: new zondy.geometry.Extent(),
// 图片宽度
width: 256,
// 图片高度
height: 256
})</code></pre>
</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>
<h5>示例</h5>
<p class="code-caption"><h7 id='load'>不加载图层,仅获取图层信息</h7></p>
<pre class="prettyprint"><code>// 初始化图层
const igsMapImageLayer = new zondy.layer.IGSMapImageLayer({
// 服务基地址
url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
});
igsMapImageLayer.load().then((result) => {
// 获取完图层信息
console.log(result)
})</code></pre>
</div>
<div class="member">
<h4 class="name" id="setSubLayer">
<a class="href-link" href="#setSubLayer">#</a>
<span class="code-name" id="setSubLayer" style="font-size:30px">
setSubLayer<span class="signature">(igsMapImageSubLayer)</span>
</span>
</h4>
<div class="description">
<p>更新子图层<a id='setSubLayer'></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"><code>igsMapImageSubLayer</code></td>
<td class="type">
<span class="param-type">
<a link="IGSMapImageSubLayer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="IGSMapImageSubLayer" IGSMapImageSubLayer.html>IGSMapImageSubLayer</a>
</span>
</td>
<td class="description last"><p>要更新的子图层</p></td>
</tr>
</tbody>
</table>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<h4 class="name" id="toJSON">
<a class="href-link" href="#toJSON">#</a>
<span class="code-name" id="toJSON" style="font-size:30px">
toJSON<span class="signature">()</span>
</span>
</h4>
<div class="description">
<p>转换为json对象</p>
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a class="mapgis-link-name" title="MapImageLayer#toJSON" MapImageLayer.html#toJSON>MapImageLayer#toJSON</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>json对象</p></div>
<div class='column is-5 has-text-left'>
<label>类型: </label>
<span class="param-type">
Object
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class='vertical-section' style='margin-top: 10px'>
<h3 id='event'>事件</h3>
<h4 style="margin-top: 20px;margin-bottom: 20px;">事件概述</h4>
<div class="table-container">
<table class="params table">
<thead>
<tr>
<th>名称</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr class="deep-level-0">
<td class="name"><code><a href="#子图层显隐更新完毕事件">子图层显隐更新完毕事件</a></code></td>
<td class="name"><code>子图层显隐更新完毕事件</code></td>
</tr>
</tbody>
</table>
</div>
<h4 style="margin-top: 20px;margin-bottom: 20px;">事件详情</h4>
<div class="members">
<div class="member">
<h4 class="name" id="event:%E5%AD%90%E5%9B%BE%E5%B1%82%E6%98%BE%E9%9A%90%E6%9B%B4%E6%96%B0%E5%AE%8C%E6%AF%95%E4%BA%8B%E4%BB%B6">
<a class="href-link" href="#event:%E5%AD%90%E5%9B%BE%E5%B1%82%E6%98%BE%E9%9A%90%E6%9B%B4%E6%96%B0%E5%AE%8C%E6%AF%95%E4%BA%8B%E4%BB%B6">#</a>
<span class="code-name" id="子图层显隐更新完毕事件" style="font-size:30px">
子图层显隐更新完毕事件
</span>
</h4>
<div class="description">
<p>子图层显隐更新完毕事件,请注意该事件是图层更新事件(layerview-update)的子事件</p>
</div>
<h5 class="subsection-title">属性:</h5>
<div class="table-container">
<table class="props table">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr class="deep-level-0">
<td class="name"><code>event</code></td>
<td class="type">
<span class="param-type">
Object
</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last"><p>事件对象</p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>type</code></td>
<td class="type">
<span class="param-type">
String
</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
'layerview-update'
</td>
<td class="description last"><p>图层更新完毕事件</p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>message</code></td>
<td class="type">
<span class="param-type">
String
</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
null
</td>
<td class="description last"><p>更新描述</p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>updateContent</code></td>
<td class="type">
<span class="param-type">
Array.<<a onclick="getTypeHTML(event)" link="UpdateContent.html">UpdateContent</a>>
</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
null
</td>
<td class="description last"><p>更新详情对象</p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>layer</code></td>
<td class="type">
<span class="param-type">
<a link="Layer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Layer" Layer.html>Layer</a>
</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
null
</td>
<td class="description last"><p>地图图层对象</p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>layerView</code></td>
<td class="type">
<span class="param-type">
<a link="MapView.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="MapView" MapView.html>MapView</a>
</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
null
</td>
<td class="description last"><p>图层的视图对象</p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>sourceTarget</code></td>
<td class="type">
<span class="param-type">
<a link="Layer.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Layer" Layer.html>Layer</a>
</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
null
</td>
<td class="description last"><p>事件发起对象</p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>target</code></td>
<td class="type">
<span class="param-type">
<a link="Map.html" onclick="getTypeHTML(event)" class="mapgis-link-name" title="Map" Map.html>Map</a>
</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
null
</td>
<td class="description last"><p>事件接收对象</p></td>
</tr>
</tbody>
</table>
</div>
<dl class="details">
</dl>
<h5>示例</h5>
<p class="code-caption"><h5>子图层显隐更新完毕事件</h5></p>
<pre class="prettyprint"><code>Layer.on('layerview-update', function (event) {
// 获取更新事件对象
console.log("更新完毕:", event)
// 获取更新详情数组
const updateContent = event.updateContent
// 循环数组,根据事件名进行后续操作
for (let i = 0; i < updateContent.length; i++) {
// 子图层显隐更新完毕事件
if(updateContent[i].name === 'sublayerVisible'){
console.log("子图层显隐更新完毕事件:", event);
}
}
});</code></pre>
</div>
</div>
</div>
</article>
</section>