map.create

描述

object map.create(object/array maps)

此方法允许create新地图.

此方法适用于所有类型的用户. 调用该方法的权限可以在用户角色设置中撤销. 更多信息请参阅User roles.

参数

(object/array) 映射到 create.

除了 地图 之外,该方法 还接受以下参数.

参数 数据类型 描述
links array 要在地图上创建的 地图链接.
selements array 要在地图上创建的 地图元素.
urls array 要在地图上创建的 地图-url.
users array 要在地图上创建的 地图用户 共享.
userGroups array 要在地图上创建的 映射用户组 共享.
shapes array 要在地图上创建的 地图形状.
lines array 要在地图上创建的 地图连线.

要 create 地图链接,您需要将地图元素 selementid 设置为任意值,然后使用该值在链接的 selementid1selementid2 属性中引用此元素. 当元素创建时,该值将被替换为由 Zabbix 生成的 正确 ID. See example.

返回值

(object) 返回一个包含所创建地图ID的object,这些ID位于sysmapids属性下。返回的ID顺序与传入的地图顺序相匹配。

示例

创建空白地图

创建一个没有元素的地图.

执行请求:

{
           "jsonrpc": "2.0",
           "method": "map.create",
           "params": {
               "name": "Map",
               "width": 600,
               "height": 600
           },
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "sysmapids": [
                   "8"
               ]
           },
           "id": 1
       }

创建主机地图

创建包含两个主机元素及其间连接的地图. 注意在 地图连接object中使用临时值"selementid1"和"selementid2" 来引用地图元素.

执行请求:

{
           "jsonrpc": "2.0",
           "method": "map.create",
           "params": {
               "name": "Host map",
               "width": 600,
               "height": 600,
               "selements": [
                   {
                       "selementid": "1",
                       "elements": [
                           {"hostid": "1033"}
                       ],
                       "elementtype": 0,
                       "iconid_off": "2"
                   },
       
                   {
                       "selementid": "2",
                       "elements": [
                           {"hostid": "1037"}
                       ],
                       "elementtype": 0,
                       "iconid_off": "2"
                   }
               ],
               "links": [
                   {
                       "selementid1": "1",
                       "selementid2": "2"
                   }
               ]
           },
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "sysmapids": [
                   "9"
               ]
           },
           "id": 1
       }

创建触发器映射

创建一个包含触发器元素的地图,该元素包含两个触发器。

执行请求:

{
           "jsonrpc": "2.0",
           "method": "map.create",
           "params": {
               "name": "Trigger map",
               "width": 600,
               "height": 600,
               "selements": [
                   {
                       "elements": [
                           {"triggerid": "12345"},
                           {"triggerid": "67890"}
                       ],
                       "elementtype": 2,
                       "iconid_off": "2"
                   }
               ]
           },
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "sysmapids": [
                   "10"
               ]
           },
           "id": 1
       }

地图共享

创建包含两种共享类型(用户和用户组)的地图。

执行请求:

{
           "jsonrpc": "2.0",
           "method": "map.create",
           "params": {
               "name": "Map sharing",
               "width": 600,
               "height": 600,
               "users": [
                   {
                       "userid": "4",
                       "permission": "3"
                   }
               ],
               "userGroups": [
                   {
                       "usrgrpid": "7",
                       "permission": "2"
                   }
               ]
           },
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "sysmapids": [
                   "9"
               ]
           },
           "id": 1
       }

地图形状

创建带有地图名称标题的地图。

执行请求:

{
           "jsonrpc": "2.0",
           "method": "map.create",
           "params": {
               "name": "Host map",
               "width": 600,
               "height": 600,
               "shapes": [
                   {
                       "type": 0,
                       "x": 0,
                       "y": 0,
                       "width": 600,
                       "height": 11,
                       "text": "{MAP.NAME}"
                   }
               ]
           },
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "sysmapids": [
                   "10"
               ]
           },
           "id": 1
       }

地图连线

创建地图连线.

执行请求:

{
           "jsonrpc": "2.0",
           "method": "map.create",
           "params": {
               "name": "Map API lines",
               "width": 500,
               "height": 500,
               "lines": [
                   {
                       "x1": 30,
                       "y1": 10,
                       "x2": 100,
                       "y2": 50,
                       "line_type": 1,
                       "line_width": 10,
                       "line_color": "009900"
                   }
               ]
           },
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "sysmapids": [
                   "11"
               ]
           },
           "id": 1
       }

另请参阅

来源

CMap::create() 位于 ui/include/classes/api/services/CMap.php 文件中。