map.create

描述

object map.create(object/array maps)

此方法允许创建新的地图。

该方法可供任何类型的用户使用。调用该方法的权限可以在用户角色设置中撤销。更多信息请参阅User roles

参数

(object/array) 待创建的地图。

地图外,该方法还接受以下参数。

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

创建地图链接时,需将地图元素selementid设为任意值,然后在链接的selementid1selementid2属性中引用该值。当元素创建后,该值将被Zabbix生成的正确ID替换。创建主机地图

返回值

(object) 返回一个包含所创建地图ID的object,这些ID存储在sysmapids属性下。返回的ID顺序与传入的地图顺序一致。

示例

创建空白地图

创建不含元素的地图。

请求:

{
           "jsonrpc": "2.0",
           "method": "map.create",
           "params": {
               "name": "Map",
               "width": 600,
               "height": 600
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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}"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

响应:

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

另请参阅

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