<map_uri>/layers[.<format>]
layers 资源对应的是某幅地图的图层集合,通过它可以获取地图中的图层信息。
关于本资源的使用方法,可参考开发指南:获取图层列表。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML、JSONP、FASTJSON。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名,“世界地图”是地图名({mapName}),URI 表示的是“世界地图”包含的图层集合,即 layers 资源。
http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/layers.rjson
名称 | 类型 | 含义 |
_cache | boolean | 【可选参数】
是否使用缓存,默认为 true。如果为 false,则关闭所有缓存。 |
对 layers 资源执行 GET 请求,返回 World 地图包含的图层信息,返回资源表述的是一个图层描述数组,数组中的元素所描述的图层,可能是 SuperMap 地图图层、WMS 图层或 WFS 图层,分别对应 Java 类:UGCMapLayer、WMSLayer 或 WFSLayer。其中 UGCMapLayer 中包含了地图中 SuperMap 数据所表示的所有图层,以 UGCMapLayer 的子图层(subLayers 字段内容)的形式存在。
以 UGCMapLayer 为例,响应集合中 UGCMapLayer 子元素的结构如下所示:
名称 | 类型 | 含义 |
name | String | 图层的名称。图层的名称在图层所在的地图中唯一标识此图层。该标识不区分大小写。 |
bounds | double | 图层范围。 |
caption | String | 图层的标题。默认情况下与 name 一致。在图例、图层控制列表中显示的图层的名称就是 caption 的值。注意与 name 相区别。 |
description | String | 图层的描述信息。 |
queryable | boolean | 图层中的对象是否可以被查询。true 表示可以被查询,false 表示不能被查询。 |
visible | boolean | 图层是否可见,当图层不可见时,其他所有的属性的设置将无效。 |
type | LayerType | 图层的类型。
目前支持的图层类型包括四种:SuperMap UGC 类型图层,WFS 图层,WMS 图层以及自定义图层。 |
subLayers | LayerCollection | 子图层集。
UGCMapLayer 中即表示 SuperMap 数据表示的图层集合。 |
completeLineSymbolDisplayed | boolean | 是否显示完整线型。true 表示显示,false 表示不显示。 |
maxScale | double | 图层的最大可见比例尺。最大可见比例尺不可为负,当地图的当前显示比例尺大于图层最大可见比例尺时,此图层将不显示。
默认为0。 |
minScale | double | 图层的最小可见比例尺。最小可见比例尺不可为负。当地图的当前显示比例尺小于图层最小可见比例尺时,此图层将不显示。
默认为0。 |
minVisibleGeometrySize | double | 几何对象的最小可见大小,单位:像素。 |
opaqueRate | int | 图层的不透明度,0-100。 |
symbolScalable | boolean | 是否允许图层的符号大小随图缩放。
true 表示当图层被放大或缩小时,符号也随之放大或缩小;false 表示图层的符号大小不可随图缩放。 |
symbolScale | double | 图层的符号缩放基准比例尺。
符号缩放基准比例尺在允许符号随图缩放时有效,指定了在随图缩放时,所设置的符号大小所对应的地图显示比例尺。 |
对示例 layers 资源:http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/layers.rjson,执行 GET 请求,返回 rjson 格式的资源描述如下:
修改图层信息。需要在请求体中包含 name 属性以及变化字段修改后的描述信息。
为修改图层信息资源,PUT 请求体中必须包含一些参数,如果参数合法,SuperMap iServer 服务器会根据这些参数修改 layer 资源。
这里,PUT 请求体中的参数是修改后的 layers 的描述或其子资源,即单个图层 layer 资源的描述。layers 资源的表述结构请参见:GET 请求的响应结构,layer 资源的表述结构请参见 layer 资源的 GET 请求的响应结构。
对 tempLayer 资源执行 PUT 请求,返回的操作结果表述的结构如下(表述在响应消息的实体主体里):
字段 | 类型 | 说明 |
succeed | boolean | 修改图层是否成功。如果不成功会有错误信息。 |
error | HttpError | 出错信息,如果修改成功,则没有本字段。 |
对示例 layers 资源:http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/layers.rjson,执行 PUT 请求,修改 continent_T@World 图层信息,修改 lineColor 的属性值,请求体中的参数如下:
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 layers 资源是否存在,或者客户端是否有权限访问 layers 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 layers 资源是否支持<format>格式的表述。