<portal_uri>/maps[.<format>]
map、mapShareSettings、bottomMap
maps 资源是当前用户有权查看的地图列表信息,支持创建新的地图,支持批量删除地图。
支持的方法:
支持的表述格式:rjson、json、html、xml。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiportal 是服务器名。
http://supermapiportal:8090/iportal/web/maps.rjson
获取当前用户有权限查看的地图列表信息。
如果参数未设置,则返回用户有权限查看的当前第一页中的地图列表信息,设置参数后,会返回用户指定的地图列表信息,请求参数必须包含在 URI 中。
名称 | 类型 | 含义 |
userNames |
String[] | 根据地图作者名过滤。 |
tags | String[] | 根据地图标签过滤。 |
suggest | Boolean | 是否是默认底图。 |
sourceTypes | SourceType[] | 根据地图来源类型过滤。包括:SUPERMAP_REST,MAPVIEWER,WMS,WMTS。 |
mapStatus | ViewerMapStatus | 根据地图状态查询。该参数已过期,即 SuperMap iPortal 8C 版或更高版本将不再沿用此参数。 |
keywords | String[] | 关键字过滤。 |
epsgCode | int | 获取指定投影的地图。 |
orderBy | OrderBy[] | 排序字段,支持多个字段的排序。 |
currentPage | int | 分页页码。 |
pageSize | int | 分页中每页大小。 |
dirIds | Integer[] | 根据目录 id 过滤。 |
isNotInDir | Boolean | 根据是否是未分组的进行过滤,默认值为 false。如果为 true,则返回所有未分组的地图列表信息;如果为 false,则返回全部的地图列表信息。
未分组是指未添加到目录的地图列表资源。 |
updateStart | Long | 查询此时间值及此时间值之后更新过的地图,如果为 null 或者小于零,则起始时间不限制。 |
updateEnd | Long | 查询此时间值及此时间值之前更新过的地图,如果为 nul 或者小于零 l,则截止时间不限制。 |
visitStart | Long | 查询此时间值及此时间值之后访问过的地图,如果为 null 或者小于零,则起始时间不限制。 |
visitEnd | Long | 查询此时间值及此时间值之前访问过的地图,如果为 null 或者小于零,则截止时间不限制。 |
filterFields | FilterFields[] | 用于关键字查询时的字段过滤。字段名称需大写。例如:根据地图创建者的关键字符过滤,则需要设置 keywords=["admin"]&filterFields=["NICKNAME"]。 |
对 maps 资源执行 GET 请求,返回当前用户有权限查看的地图列表。由以下字段组成:
字段 | 类型 | 说明 |
content | List<ViewerMap> | 页面内容。 |
currentPage | int | 当前第几页。 |
pageSize | int | 每页大小。 |
searchParameter | SearchParameter | 当前页搜索参数。 |
total | int | 总记录数。 |
totalPage | int | 总页数。 |
对 maps 资源:http://localhost:8090/iportal/web/maps.rjson 执行 GET 请求,返回 rjson 格式的资源表述如下:
如果希望获取指定的地图列表信息,如根据地图作者的关键字符过滤,则需要设置 keywords=["admin"]&filterFields=["NICKNAME"],即对 maps 资源:http://localhost:8090/iportal/web/maps.rjson?keywords=["admin"]&filterFields=["NICKNAME"]执行 GET 请求,返回的 rjson 格式的资源表述如下:
创建新的地图。
发送请求时,需要在请求体中传递如下参数:
名称 | 类型 | 含义 |
units |
String | 地图的单位。默认是'degrees'。可选值为'degrees'(或者'dd')、‘m’、'ft'、'km'、'mi'、'inches'。 |
level | Integer | 地图的缩放级别。 |
center | Point2D | 地图的中心点。 |
controls | List<String> | 地图显示控件集合。 |
createTime | Long | 创建日期。 |
description | String | 地图描述信息。 |
epsgCode | Integer | 投影坐标系对应的 EPSG 代码。 |
extent | Rectangle2D | 地图的范围。 |
id | Integer | 地图唯一标识。 |
status | ViewerMapStatus | 地图状态 save、publish。该参数已过期,即 SuperMap iPortal 8C 版或更高版本将不再沿用此参数。 |
tags | List<String> | 地图标签。 |
userName | String | 用户名。 |
visitCount | Integer | 地图的访问次数。 |
layers | List<Layer> | 地图的图层列表。 |
title | String | 地图名称。 |
thumbnail | String | 地图的缩略图路径。 |
sourceType | SourceType | 地图的来源类型。 |
isDefaultBottomMap | Boolean | 是否是默认底图。 |
authorizeSetting | List<IportalAuthorizeEntity> | 授权信息。可以为空值 null,如果设置为空值,则表示权限信息为:私有。 |
updateTime | Long | 更新时间。 |
返回的资源表述结构如下:
字段 | 类型 | 说明 |
newResourceID | String | 创建新地图的 id。 |
newResourceLocation | String | 创建新地图的 URI。 |
succeed | boolean | 创建新地图是否成功。 |
对 maps 资源:http://localhost:8090/iportal/web/maps.rjson 执行 POST 请求,创建新的地图,发送请求体如下:
{
"units": null,
"level": 0,
"center": {
"id": "SuperMap.Geometry.Point_115",
"x": 117.05137167763,
"y": 40.038712306824
},
"controls": [],
"description": "",
"epsgCode": 4326,
"extent": {
"left": 113.5989213447,
"bottom": 37.76434929129,
"right": 120.50382201056,
"top": 42.313075322359
},
"thumbnail": "http://localhost:8090/iportal/services/map-jingjin/rest/maps/%E4%BA%AC%E6%B4%A5%E5%9C%B0%E5%8C%BA%E5%9C%9F%E5%9C%B0%E5%88%A9%E7%94%A8%E7%8E%B0%E7%8A%B6%E5%9B%BE/entireImage.png",
"scale": 4.35780249300821E-07,
"authorizeSetting": null,
"title": "京津地图",
"tags": [
"京津"
],
"userName": "admin",
"sourceType": "MAPVIEWER",
"visitCount": 0,
"resolution": 0.00545410795092206,
"id": null,
"layers": [
{
"title": "京津地区土地利用现状图",
"url": "http://localhost:8090/iportal/services/map-jingjin/rest/maps/京津地区土地利用现状图",
"opacity": 1,
"zindex": 0,
"type": "SUPERMAP_REST",
"layerType": "BASE_LAYER",
"name": null,
"bounds": {
"left": 114.58902605452,
"bottom": 37.764349291289,
"right": 119.51371730073,
"top": 42.313075322358
}
}
]
}
则返回的 rjson 格式响应结果如下:
{
"succeed": true,
"newResourceID": "24",
"newResourceLocation": "http://localhost:8090/iportal/web/maps/24"
}
删除地图,支持批量删除地图。url 中传递需要删除地图的 id 数组。
返回的资源表述结构如下:
字段 | 类型 | 说明 |
succeed | boolean | 删除地图是否成功。 |
error | Httperror | 出错信息,如果删除地图成功,则没有本字段。 |
对 maps 资源:http://localhost:8090/iportal/web/maps.rjson?ids=[1,2] 执行 DELETE 请求,批量删除 id 为 1 和 2 的两幅地图,返回的 rjson 格式响应结果如下:
{ "succeed": true}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 map 资源是否存在,或者客户端是否有权限访问 map 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 map 资源是否支持<format>格式的表述。