@mapgis/webclient-common
Version:
mapgis ES6 format for igserver
2,459 lines (1,158 loc) • 97 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" 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>服务基地址,可以在末尾指定子图层id,若指定,则仅显示该子图层,例如:http://{服务基地址}/子图层id,<a href='#show-sublayer'>[仅显示指定子图层]<br/></p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="httpMethod"><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" 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="sublayers"><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" id="spatialReference"><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" id="imageWidth"><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" id="imageHeight"><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" 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>最小显示比例尺,图层在视图中可见的最小比例尺(最缩小)。如果地图被缩小到超过这个比例,图层将不可见。默认值为0,0表示图层没有最小比例尺、可见性不受最小比例尺限制。minScale应该始终大于maxScale</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>最大显示比例尺,图层在视图中可见的最大比例尺(最放大)。如果地图被放大到超过这个比例,图层将不可见。默认值为0,0表示图层没有最大比例尺、可见性不受最大比例尺限制。maxScale应该始终小于minScale</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="imageTransparency"><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" id="clippingArea"><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" id="renderMode"><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" id="clientId"><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" id="isAntialiasing"><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 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%25E9%25A1%25BA%25E5%25BA%258F%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="IGSMapImageLayer#event:子图层显隐更新完毕事件" IGSMapImageLayer.html#event:%25E5%25AD%2590%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>IGSMapImageLayer#event:子图层显隐更新完毕事件</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="