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 文件中。