你当前正在访问 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
NumericTypeStyleRule
为 StyleObject
且包括下列属性:
属性 | 类型 | 描述 | 必须 |
---|---|---|---|
keyName |
string | “状态”或动态属性名称。 keyName 在 StyleObject 数组中具有特殊性。 |
是 |
type |
字符串 | 值为 numeric 。 |
是 |
rules |
NumberRuleObject |
具有关联颜色的数字样式范围数组。 每个范围定义“状态”值在此范围内时使用的颜色。 | 是 |
NumberRuleObject
NumberRuleObject
包含RangeObject
和color
属性。 如果“状态”值在此范围内,则其显示颜色为 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 字符串:
|
是 |
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 显示名为 temperature
的 NumericTypeStyleRule
“状态”。 此示例中的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
StringTypeStyleRule
为StyleObject
且包括下列属性:
属性 | 类型 | 描述 | 必须 |
---|---|---|---|
keyName |
string | “状态”或动态属性名称。 keyName 在 StyleObject 数组中具有特殊性。 |
是 |
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
BooleanTypeStyleRule
为StyleObject
且包括下列属性:
属性 | 类型 | 描述 | 必须 |
---|---|---|---|
keyName |
string | “状态”或动态属性名称。 keyName 在 StyleObject 数组中具有特殊性。 |
是 |
type |
字符串 | 值为 boolean 。 |
是 |
rules |
BooleanRuleObject |
具有 true 和 false “状态”值颜色的布尔对。 |
是 |
BooleanRuleObject
BooleanRuleObject
定义 true
和 false
值的颜色。
属性 | 类型 | 描述 | 必须 |
---|---|---|---|
true |
string | “状态”值为true 时使用的颜色。 color 属性为采用以下任意格式的 JSON 字符串:
|
是 |
false |
字符串 | “状态”值为false 时使用的颜色。 |
是 |
BooleanTypeStyleRule 示例
以下 JSON 显示名为 occupied
的 BooleanTypeStyleRule
“状态”。 BooleanRuleObject
定义true
和false
值的颜色。
{
"keyname": "occupied",
"type": "boolean",
"rules": [
{
"true": "#FF0000",
"false": "#00FF00"
}
]
}
后续步骤
通过阅读以下内容详细了解用于室内地图的 Creator: