legend


URI

1. <layer_uri>/legend[.<format>]

2. <layer_uri>/items/{itemID}/legend[.<format>]

支持的方法

GETHEAD

父资源

layer

介绍

作为 layer 的一个子资源,legend 资源用于以图例形式展示图层的样式,用户可以通过 width、height 指定图例图片的大小。

URI1可以获取一般图层的图例,URI2用于获取单值专题图、统计专题图、分段专题图的子项的图例,其中{itemID}从0计数,可取的最大值为专题图子项的个数减1。

支持的方法:

支持的表述格式:PNG、BMP、GIF、JPG。

资源层次

resources.htm maps.htm map.htm layer.htm layers.htm

HTTP 请求方法

对如下 URI 执行 HTTP 请求,以 PNG 输出格式为例加以说明,其中,supermapiserver 是服务器名,“世界地图”是地图名({mapName}),Capitals@world 是 地图“世界地图” 中的一个图层({layerName}),Capitals@world@@世界地图 表示 它是“世界地图”图层的一个子图层,URI 表示 Capitals@world 图层的图例图片。

http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/layers/Capitals@World@@世界地图/legend.png

GET 请求

获取图层的图例图片。

请求参数

对 legend 资源执行 GET 请求,获取图层图例图片时,可在 URI 中传递参数来定制,也可以不传。

URI 中的参数

名称 类型 含义
width int 要获取的符号图片的宽度。默认为16像素。
height int 要获取的符号图片的高度。默认为16像素。

响应结构

legend 资源的响应为图片流,格式由资源 URI 的后缀确定。

响应示例

对 Capitals@World (世界地图中的一个矢量图层)的 legend 资源:http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/layers/Capitals@World@@世界地图/legend.png?width=30&height=30 执行 GET 请求,获取该图层的图例,返回 PNG 格式的图片如下:

为一张30*30像素的图片,如果不指定图片大小,默认生成16*16大小的图例图片。

对 http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/layers/单值专题图@@世界地图/items/0/legend.png?width=60&height=30 执行 GET 请求,可获取“单值专题图”图层第1个子项的图例图片如下:

“单值专题图”图层有4个子项,当{itemID}过大,服务器会返回 json 格式的错误信息,如对 http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/layers/单值专题图@@世界地图/items/4/legend.png?width=60&height=30 执行 GET 请求,获取的 HTTP 响应的状态码为404,响应的消息体内容为:

 {"succeed":false,"error":{"errorMsg":" 请求的子项目索引不在子项目集合的范围内 ","code":404}}  

HEAD 请求

返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。

HEAD 请求可以用来判断 legend 资源是否存在,或者客户端是否有权限访问 legend 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 legend 资源是否支持<format>格式的表述。

请参见