你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

动态 Maps StylesObject 架构参考指南

StylesObject是表示状态集样式的StyleObject数组。 使用 Azure Maps Creator 功能状态服务将状态集样式应用到室内地图数据功能。 创建状态集样式,并将其与室内地图功能关联后,可以使用它们来创建动态室内地图。 有关创建动态室内地图的详细信息,请参阅为 Creator 室内地图实现动态样式

StyleObject

StyleObject为以下样式规则之一:

以下 JSON 展示了三种样式类型的用法示例。 BooleanTypeStyleRule用于确定occupied属性为 "true" 或 "false" 的功能的动态样式。 NumericTypeStyleRule用于确定temperature属性在特定范围内的功能的样式。 最后,StringTypeStyleRule用于匹配特定样式与meetingType

 "styles": [
     {
        "keyname": "occupied",
        "type": "boolean",
        "rules": [
            {
                "true": "#FF0000",
                "false": "#00FF00"
            }
        ]
    },
    {
        "keyname": "temperature",
        "type": "number",
        "rules": [
             {
                "range": {
                "minimum": 50,
                "exclusiveMaximum": 70
                },
                "color": "#343deb"
            },
            {
                "range": {
                "maximum": 70,
                "exclusiveMinimum": 30
              },
              "color": "#eba834"
            }
        ]
    },
    {
      "keyname": "meetingType",
      "type": "string",
      "rules": [
        {
          "private": "#FF0000",
          "confidential": "#FF00AA",
          "allHands": "#00FF00",
          "brownBag": "#964B00"
        }
      ]
    }
]

NumericTypeStyleRule

NumericTypeStyleRuleStyleObject 且包括下列属性:

属性 类型​​ 描述 必须
keyName string “状态”或动态属性名称。 keyNameStyleObject 数组中具有特殊性。
type 字符串 值为 numeric
rules NumberRuleObject 具有关联颜色的数字样式范围数组。 每个范围定义“状态”值在此范围内时使用的颜色。

NumberRuleObject

NumberRuleObject包含RangeObjectcolor属性。 如果“状态”值在此范围内,则其显示颜色为 color 属性中指定的颜色。

如果定义多个重叠范围,所选颜色则是首个满足的范围定义的颜色。

在以下 JSON 示例中,当“状态”值介于 50-60 之间时,两个范围均为 true。 但是,使用的颜色是 #343deb,因为它是列表中首个得到满足的范围。


    {
        "rules":[
            {
                "range": {
                "minimum": 50,
                "exclusiveMaximum": 70
                },
                "color": "#343deb"
            },
            {
                "range": {
                "minimum": 50,
                "maximum": 60
                },
                "color": "#eba834"
            }
        ]
    }
]
属性 类型​​ 描述 必需
range RangeObject RangeObject定义一组逻辑范围条件,如果为true,则将“状态”显示颜色更改为color属性中指定的颜色。 如果未指定 range,则始终使用 color 属性中定义的颜色。
color 字符串 状态值满足一定范围时使用的颜色。 color 属性为采用以下任意格式的 JSON 字符串:
  • HTML-样式的十六进制值
  • RGB ("#ff0", "#ffff00", "rgb(255, 255, 0)")
  • RGBA ("rgba(255, 255, 0, 1)")
  • HSL("hsl(100, 50%, 50%)")
  • HSLA("hsla(100, 50%, 50%, 1)")
  • 预定义的 HTML 颜色名称,例如黄色和蓝色。

RangeObject

RangeObject定义NumberRuleObject 的数值范围值。 若“状态”值满足此范围,所有定义条件必须为 "true"。

属性 类型​​ 描述 必需
minimum Double 所有 x ≥minimum的数字 x。
maximum Double 所有 x ≤maximum的数字 x。
exclusiveMinimum Double 所有 x >exclusiveMinimum 的数字 x。
exclusiveMaximum Double 所有 x <exclusiveMaximum 的数字 x。

NumericTypeStyleRule 示例

以下 JSON 显示名为 temperatureNumericTypeStyleRule“状态”。 此示例中的NumberRuleObject包含两个定义温度范围及其关联颜色样式。 若温度范围为 50-69,显示颜色为#343deb。 若温度范围为 31-70,显示颜色为#eba834

{
    "keyname": "temperature",
    "type": "number",
    "rules":[
        {
            "range": {
            "minimum": 50,
            "exclusiveMaximum": 70
            },
            "color": "#343deb"
        },
        {
            "range": {
            "maximum": 70,
            "exclusiveMinimum": 30
            },
            "color": "#eba834"
        }
    ]
}

StringTypeStyleRule

StringTypeStyleRuleStyleObject且包括下列属性:

属性 类型​​ 描述 必须
keyName string “状态”或动态属性名称。 keyNameStyleObject 数组中具有特殊性。
type 字符串 值为 string
rules StringRuleObject N 个“状态”值的数组。

StringRuleObject

StringRuleObject 包含最多 N 个状态值,这些状态值是功能属性的字符串可能值。 如果该功能的属性值与任何已定义的状态值都不匹配,则该功能将没有动态样式。 如果给定了重复的状态值,则优先使用第一个状态值。

字符串值匹配区分大小写。

属性 类型​​ 描述 必须
stateValue1 string 值字符串为 stateValue1 时的颜色。
stateValue2 字符串 值字符串为 stateValue 时的颜色。
stateValueN 字符串 值字符串为 stateValueN 时的颜色。

StringTypeStyleRule 示例

以下 JSON 显示定义特定会议类型关联样式的StringTypeStyleRule

    {
      "keyname": "meetingType",
      "type": "string",
      "rules": [
        {
          "private": "#FF0000",
          "confidential": "#FF00AA",
          "allHands": "#00FF00",
          "brownBag": "#964B00"
        }
      ]
    }

BooleanTypeStyleRule

BooleanTypeStyleRuleStyleObject且包括下列属性:

属性 类型​​ 描述 必须
keyName string “状态”或动态属性名称。 keyNameStyleObject 数组中具有特殊性。
type 字符串 值为 boolean
rules BooleanRuleObject 具有 truefalse“状态”值颜色的布尔对。

BooleanRuleObject

BooleanRuleObject 定义 truefalse 值的颜色。

属性 类型​​ 描述 必须
true string “状态”值为true时使用的颜色。 color 属性为采用以下任意格式的 JSON 字符串:
  • HTML-样式的十六进制值
  • RGB ("#ff0", "#ffff00", "rgb(255, 255, 0)")
  • RGBA ("rgba(255, 255, 0, 1)")
  • HSL("hsl(100, 50%, 50%)")
  • HSLA("hsla(100, 50%, 50%, 1)")
  • 预定义的 HTML 颜色名称,例如黄色和蓝色。
false 字符串 “状态”值为false时使用的颜色。

BooleanTypeStyleRule 示例

以下 JSON 显示名为 occupiedBooleanTypeStyleRule“状态”。 BooleanRuleObject定义truefalse值的颜色。

{
    "keyname": "occupied",
    "type": "boolean",
    "rules": [
    {
        "true": "#FF0000",
        "false": "#00FF00"
    }
    ]
}

后续步骤

通过阅读以下内容详细了解用于室内地图的 Creator: