Guia de referência do esquema StylesObject para mapas dinâmicos

O StylesObject é uma StyleObject matriz que representa estilos de conjunto de estados. Use o serviço Estado do Recurso do Criador do Azure Maps para aplicar seus estilos de conjunto de estados aos recursos de dados de mapa interno. Depois de criar seus estilos de conjunto de estados e associá-los a recursos de mapa interno, você pode usá-los para criar mapas internos dinâmicos. Para obter mais informações sobre como criar mapas internos dinâmicos, consulte Implementar estilo dinâmico para mapas internos do Creator.

StyleObject

A StyleObject é uma das seguintes regras de estilo:

O JSON a seguir mostra o uso de exemplo de cada um dos três tipos de estilo. O BooleanTypeStyleRule é usado para determinar o estilo dinâmico para recursos cuja occupied propriedade é true e false. O NumericTypeStyleRule é usado para determinar o estilo para características cuja temperature propriedade se enquadra dentro de um determinado intervalo. Finalmente, o StringTypeStyleRule é usado para combinar estilos específicos com 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

A NumericTypeStyleRule é um StyleObject e consiste nas seguintes propriedades:

Propriedade Type Descrição Obrigatório
keyName string O estado ou nome da propriedade dinâmica. A keyName deve ser exclusivo dentro da StyleObject matriz. Sim
type string O valor é numeric. Sim
rules NumberRuleObject Uma matriz de intervalos de estilos numéricos com cores associadas. Cada intervalo define uma cor que deve ser usada quando o valor do estado satisfaz o intervalo. Sim

NumberRuleObject

A NumberRuleObject consiste em um RangeObject e um color imóvel. Se o valor do estado cair no intervalo, sua cor para exibição será a cor especificada na color propriedade.

Se você definir vários intervalos sobrepostos, a cor escolhida será a cor definida no primeiro intervalo que for satisfeito.

No exemplo JSON a seguir, ambos os intervalos são true quando o valor do estado está entre 50-60. No entanto, a cor que é usada é #343deb porque é o primeiro intervalo na lista que foi satisfeito.


    {
        "rules":[
            {
                "range": {
                "minimum": 50,
                "exclusiveMaximum": 70
                },
                "color": "#343deb"
            },
            {
                "range": {
                "minimum": 50,
                "maximum": 60
                },
                "color": "#eba834"
            }
        ]
    }
]
Propriedade Type Descrição Obrigatório
range RangeObject O RangeObject define um conjunto de condições de intervalo lógico, que, se true, alteram a cor de exibição do estado para a cor especificada na color propriedade. Se range não for especificado, a cor definida na color propriedade será sempre usada. Não
color string A cor a ser usada quando o valor do estado cair no intervalo. A color propriedade é uma cadeia de caracteres JSON em qualquer um dos seguintes formatos:
  • Valores hexadecimais no estilo 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)")
  • Nomes de cores HTML predefinidos, como amarelo e azul.
Sim

RangeObject

O RangeObject define um valor de intervalo numérico de um NumberRuleObjectarquivo . Para que o valor do estado caia no intervalo, todas as condições definidas devem ser verdadeiras.

Propriedade Type Descrição Obrigatório
minimum duplo Todo o número x que x ≥ minimum. Não
maximum duplo Todo o número x que x ≤ maximum. Não
exclusiveMinimum duplo Todo o número x que x >exclusiveMinimum. Não
exclusiveMaximum duplo Todo o número x que x <exclusiveMaximum. Não

Exemplo de NumericTypeStyleRule

O JSON a seguir ilustra um NumericTypeStyleRuleestado chamado temperature. Neste exemplo, o NumberRuleObject contém dois intervalos de temperatura definidos e seus estilos de cores associados. Se a faixa de temperatura é 50-69, o visor deve usar a cor #343deb. Se a faixa de temperatura é 31-70, o visor deve usar a cor #eba834.

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

StringTypeStyleRule

A StringTypeStyleRule é um StyleObject e consiste nas seguintes propriedades:

Propriedade Type Descrição Obrigatório
keyName string O estado ou nome da propriedade dinâmica. A keyName deve ser exclusivo dentro da StyleObject matriz. Sim
type string O valor é string. Sim
rules StringRuleObject Uma matriz de N número de valores de estado . Sim

StringRuleObject

A StringRuleObject consiste em até N número de valores de estado que são os possíveis valores de cadeia de caracteres da propriedade de um recurso. Se o valor da propriedade do recurso não corresponder a nenhum dos valores de estado definidos, esse recurso não terá um estilo dinâmico. Se forem dados valores de estado duplicados, o primeiro tem precedência.

A correspondência do valor da cadeia de caracteres diferencia maiúsculas de minúsculas.

Propriedade Type Descrição Obrigatório
stateValue1 string A cor quando a cadeia de caracteres de valor é stateValue1. Não
stateValue2 string A cor quando a cadeia de caracteres de valor é stateValue. Não
stateValueN string A cor quando a cadeia de caracteres de valor é stateValueN. Não

Exemplo de StringTypeStyleRule

O JSON a seguir ilustra um StringTypeStyleRule que define estilos associados a tipos de reunião específicos.

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

BooleanTypeStyleRule

A BooleanTypeStyleRule é um StyleObject e consiste nas seguintes propriedades:

Propriedade Type Descrição Obrigatório
keyName string O estado ou nome da propriedade dinâmica. A keyName deve ser exclusivo dentro da StyleObject matriz. Sim
type string O valor é boolean. Sim
rules BooleanRuleObject Um par booleano com cores para true e falsevalores de estado . Sim

BooleanRuleObject

A BooleanRuleObject define cores para true e false valores.

Propriedade Type Descrição Obrigatório
true string A cor a ser usada quando o valor do estado for true. A color propriedade é uma cadeia de caracteres JSON em qualquer um dos seguintes formatos:
  • Valores hexadecimais no estilo 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)")
  • Nomes de cores HTML predefinidos, como amarelo e azul.
Sim
false string A cor a ser usada quando o valor do estado for false. Sim

Exemplo de BooleanTypeStyleRule

O JSON a seguir ilustra um BooleanTypeStyleRuleestado chamado occupied. O BooleanRuleObject define cores para true e false valores.

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

Próximos passos

Saiba mais sobre o Creator para mapas internos lendo: