URI

<mapService_uri>/legend[.<format>]

支持的方法

GETHEAD

父资源

mapService

介绍

图例资源表示地图服务的图例, 它返回服务中所有图层的图例信息。 每个图层的图例信息包括符号图像和每个符号的标签,每个符号都是 96 DPI 、20x20 像素的图像。除以上信息外还包括每个图层的其他信息,例如图层ID,名称以及最小和最大比例。当前,ArcGIS legend 资源暂不支持参数过滤。

支持的方法:

  • GET:获取图层的图例信息。
  • HEAD:检查 legend  资源是否存在,或权限是否可以访问 legend  资源。

资源层次

HTTP 请求方法

对如下 URI 执行 HTTP 请求,以 json 输出格式为例加以说明,其中,supermapiserver 是服务器名,{component}是服务组件名,{mapName}是地图名。

http://supermapiserver:8090/iserver/services/{component}/arcgisrest/{mapName}/MapServer/legend.json

GET 请求

获取图层的图例信息。

请求参数

名称 类型 含义

f

String 响应格式,支持 json、pjson

size

int 导出的图像的大小(宽度*高度),注意,该参数仅对点、线、面图层生效。

响应结构

对 legend 资源执行 GET 请求,返回的是各图层的图例信息。

字段 类型 说明
layerType String 图层类型
layerId int 图层 ID
maxScale double 地图的最大显示比例尺。该值为0时,表示没有比例尺显示限制。
legend legend 返回的图例信息,包括以下内容:
  • imageData:Base64 Encoded Image Data
  • width:图例宽度。
  • label:图例标签。
  • contentType:返回内容的格式类型。
  • height:图例高度。
layerName String 图层名称
minScale double 地图的最小显示比例尺。该值为0时,表示没有比例尺显示限制。

响应示例

对 legend 资源执行 GET 请求, URI:http://localhost:8090/iserver/services/map-BeijingAddress/arcgisrest/county_R/MapServer/legend,返回 pjson 格式的资源表述如下:

{"layers": [

    {

        "layerType": "Feature Layer",

        "layerId": 0,

        "maxScale": 0,

        "legend": {

            "imageData": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAhklEQVR42mP4TyFgGDUAtwG79u/7H5mS/N8jJPh/SHzc/3lLl/z/+esXcQZs2bkTrBEdT541kzgDQDZiMwCEX7x6id+AR0+e4NQMwgeOHMFvAMiffpEROA24e/8+YS/0Tp2CVXNBVSVxYfDly5f/NS0tGJrR/U8wHVy/eRMcIxevXBnOSRkAiTii0c7/LEQAAAAASUVORK5CYII=",

            "width": 16,

            "label": "",

            "contentType": "image/png",

            "url": "",

            "height": 16

        },

        "layerName": "hospital@BeijingAddress",

        "minScale": 0

    },

    {

        "layerType": "Feature Layer",

        "layerId": 1,

        "maxScale": 0,

        "legend": {

            "imageData": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAhklEQVR42mP4TyFgGDUAtwHzz8//L9Ej8Z+hgeG/QIfA/4o9Ff+///5OnAHTT08Ha0THGVsyiDMAZCM2A0D4/vv7+A24/vo6Ts0gvPzycvwGgPzJ0cKB04Dzz88T9kLChgSsmi3mWBAXBu+/v//vscQDQzO6/wmmg+OPj4NjZP/9/cM5KQMAgKCP77yirDkAAAAASUVORK5CYII=",

            "width": 16,

            "label": "",

            "contentType": "image/png",

            "url": "",

            "height": 16

        },

        "layerName": "school@BeijingAddress",

        "minScale": 0

    },

    {

        "layerType": "Feature Layer",

        "layerId": 2,

        "maxScale": 0,

        "legend": {

            "imageData": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAhklEQVR42mP4TyFgGDUAtwHzz8//L9Ej8Z+hgeG/QIfA/4o9Ff+///5OnAHTT08Ha0THGVsyiDMAZCM2A0D4/vv7+A24/vo6Ts0gvPzycvwGgPzJ0cKB04Dzz88T9kLChgSsmi3mWBAXBu+/v//vscQDQzO6/wmmg+OPj4NjZP/9/cM5KQMAgKCP77yirDkAAAAASUVORK5CYII=",

            "width": 16,

            "label": "",

            "contentType": "image/png",

            "url": "",

            "height": 16

        },

        "layerName": "company@BeijingAddress",

        "minScale": 0

    },

    {

        "layerType": "Feature Layer",

        "layerId": 3,

        "maxScale": 0,

        "legend": {

            "imageData": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAIklEQVR42mNQn6H7n6GBgXwMIi78/0A2HjVg1IBRAwaLAQAngnj51MmJ8AAAAABJRU5ErkJggg==",

            "width": 16,

            "label": "",

            "contentType": "image/png",

            "url": "",

            "height": 16

        },

        "layerName": "county_R@BeijingAddress",

        "minScale": 0

    }

]}

HEAD 请求

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

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

请参见