<vectorStyles_uri>/{layerName}[.<format>]
vectorStyle表示某一图层的风格信息,在 URI 里通过图层名或来标识。当发布 SVTiles 为地图服务后,您可以通过执行 PUT 请求,来创建图层的风格信息,或对图层的风格信息进行修改。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML、JSONP、FASTJSON。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。
http://supermapiserver:8090/iserver/services/map-China400/rest/maps/China/tileFeature/vectorstyles/China_Nation_txt_1@China.rjson
获取图层的风格信息。
对 vectorStyle 资源执行 GET 请求,获取地图中指定图层的风格信息,需要在 URI 中包含相关参数,如果没有指定参数,则会默认获得该地图中所有图层的风格信息。参数如下所示:
名称 | 类型 | 含义 |
type | VectorStyleType | 图层风格的描述语言类型。目前仅支持CartoCSS语言。 |
返回图层风格的信息。
字段 | 类型 | 说明 |
type | VectorStyleType | 图层风格的描述语言类型。 |
style | String | 图层风格信息。包括图层名称及其风格信息。 |
对 vectorStyle 资源请求China地图下China_Nation_txt_1@China图层的风格信息,则需执行 GET 请求:http://supermapiserver:8090/iserver/services/map-China400/rest/maps/China/tileFeature/vectorStyles/China_Nation_txt_1@China.rjson?type=cartoCSS
则返回的结果如下:
{
"style":
"#China_Nation_txt_1@China[zoom<=1.3521308572821239E-8][zoom>=6.760654286410611E-9]
{
text-placement-type:simple;
text-placements:\"E,NE,SE,W,NW,SW\";
line-color:rgba(245,243,240,1);line-width:1;
line-pattern-file:url(SYMBOLLINE__China_Nation_txt_1@China__64__64__true__605218360.png);
polygon-fill:rgba(208,255,240,1);
polygon-pattern-file:url(SYMBOLFILL__China_Nation_txt_1@China__64__64__true__605218360.png);
point-file:url(SYMBOLMARKER__China_Nation_txt_1@China__64__64__true__605218360.png);
polygon-opacity:1;polygon-pattern-opacity:3;}",
"type": "cartoCSS"
}
表示创建图层及风格或修改图层的风格信息。当 vectorStyle 资源不存在时为创建,存在时为修改。
注:仅对服务来源为SVTiles发布的地图服务,支持PUT请求。
当 vectorStyle 资源不存在时,对一个新的 URI ,如:http://supermapiserver:8090/iserver/services/map-svtiles-China/rest/maps/China/tileFeature/vectorStyles/China_1@China?returnPutAction=true 发 PUT 请求,表示创建数据集时,需要在请求体中输入风格信息,示例如下:
{
"style": "#China_1@China[zoom<=1.3521308572821239E-8][zoom>=6.760654286410611E-9]{text-placement-type:simple;text-placements:\"E,NE,SE,W,NW,SW\";line-color:rgba(245,243,240,1);line-width:1;line-pattern-file:url(SYMBOLLINE__China_Nation_txt_1@China__64__64__true__605218360.png);polygon-fill:rgba(208,255,240,1);polygon-pattern-file:url(SYMBOLFILL__China_Nation_txt_1@China__64__64__true__605218360.png);point-file:url(SYMBOLMARKER__China_Nation_txt_1@China__64__64__true__605218360.png);polygon-opacity:1;polygon-pattern-opacity:3;}",
"type": "cartoCSS"
}
当对vectorStyle资源修改时,修改请求体中的参数值即可。
修改成功后,将返回已创建或修改的风格信息内容。以rjson格式表述如下:
{
"style": "#China_1@China[zoom<=1.3521308572821239E-8][zoom>=6.760654286410611E-9]{text-placement-type:simple;text-placements:\"E,NE,SE,W,NW,SW\";line-color:rgba(245,243,240,1);line-width:1;line-pattern-file:url(SYMBOLLINE__China_Nation_txt_1@China__64__64__true__605218360.png);polygon-fill:rgba(208,255,240,1);polygon-pattern-file:url(SYMBOLFILL__China_Nation_txt_1@China__64__64__true__605218360.png);point-file:url(SYMBOLMARKER__China_Nation_txt_1@China__64__64__true__605218360.png);polygon-opacity:1;polygon-pattern-opacity:3;}",
"type": "cartoCSS"
}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 vectorStyle 资源是否存在,或者客户端是否有权限访问 vectorStyle 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 vectorStyle 资源是否支持<format>格式的表述。