Создание набора состояний функции

Наборы состояний объектов определяют динамические свойства и значения отдельных объектов, которые их поддерживают. В этой статье объясняется, как создать набор состояний, определяющий значения и соответствующие стили для свойства и изменение состояния свойства.

Необходимые компоненты

Важно!

  • В этой статье используется географический URL-адрес us.atlas.microsoft.com. Если ваша служба Создателя была создана за пределами США, используйте другой географический URL-адрес. Дополнительные сведения см. в статье о доступе к службам Создателя.
  • В примерах URL-адресов в этой статье необходимо заменить:

Создание набора состояний компонентов

Чтобы создать набор состояний, выполните следующие действия:

Создайте HTTP-запрос POST, использующий API набора состояний. Запрос должен выглядеть, как в этом URL-адресе:

https://us.atlas.microsoft.com/featurestatesets?api-version=2.0&datasetId={datasetId}&subscription-key={Your-Azure-Maps-Subscription-key}

Затем задайте Content-Type значение application/json в заголовке запроса.

При использовании такого инструмента, как Postman, он должен выглядеть следующим образом:

A screenshot of Postman showing the Header tab of the POST request that shows the Content Type Key with a value of application forward slash json.

Наконец, в тексте HTTP-запроса добавьте сведения о стиле в необработанный формат JSON, который применяет различные цвета к occupied свойству в зависимости от его значения:

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

Получив успешный ответ, скопируйте значение statesetId из его текста. В следующем разделе используйте statesetId, чтобы изменить состояние свойства occupancy элемента с функцией id "UNIT26". При использовании Postman отображается следующим образом:

A screenshot of Postman showing the resource Stateset ID value in the responses body.

Обновление состояния объекта

В этом разделе показано, как обновить occupied состояние единицы с помощью функции id UNIT26. Чтобы обновить occupied состояние, создайте новый HTTP-запрос PUT, вызывающий API наборов состояний компонентов. Запрос должен выглядеть следующим URL-адресом (замените statesetId{statesetId} полученный в наборе состояний компонента):

https://us.atlas.microsoft.com/featurestatesets/{statesetId}/featureStates/UNIT26?api-version=2.0&subscription-key={Your-Azure-Maps-Subscription-key}

Затем задайте Content-Type значение application/json в заголовке запроса.

При использовании такого инструмента, как Postman, он должен выглядеть следующим образом:

A screenshot of the header tab information for stateset creation.

Наконец, в тексте HTTP-запроса добавьте сведения о стиле в необработанный формат JSON, который применяет различные цвета к occupied свойству в зависимости от его значения:

{
    "states": [
        {
            "keyName": "occupied",
            "value": true,
            "eventTimestamp": "2020-11-14T17:10:20"
        }
    ]
}

Примечание.

Обновление будет сохранено только в том случае, если метка времени будет создана позже метки времени предыдущего запроса.

После отправки HTTP-запроса и завершения обновления вы получите 200 OK код состояния HTTP. Если вы реализовали динамические стили для схемы помещений, обновление будет отображаться на выведенной схеме под указанной меткой времени.

Дополнительная информация:

Следующие шаги

Узнайте, как реализовать динамическую стили для карт помещений.