Создание набора состояний функции
Наборы состояний объектов определяют динамические свойства и значения отдельных объектов, которые их поддерживают. В этой статье объясняется, как создать набор состояний, определяющий значения и соответствующие стили для свойства и изменение состояния свойства.
Необходимые компоненты
- Успешное завершение наборов данных запросов с помощью API WFS.
- Объект
datasetId
, полученный в разделе Проверка состояния создания набора данных руководства Использование создателя для создания карт.
Важно!
- В этой статье используется географический URL-адрес
us.atlas.microsoft.com
. Если ваша служба Создателя была создана за пределами США, используйте другой географический URL-адрес. Дополнительные сведения см. в статье о доступе к службам Создателя. - В примерах URL-адресов в этой статье необходимо заменить:
{Azure-Maps-Subscription-key}
с ключом подписки azure Карты.{datasetId}
наdatasetId
, который можно получить в разделе Проверка состояния создания набора данных в руководстве Использование Создателя для создания схем помещения.
Создание набора состояний компонентов
Чтобы создать набор состояний, выполните следующие действия:
Создайте 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, он должен выглядеть следующим образом:
Наконец, в тексте HTTP-запроса добавьте сведения о стиле в необработанный формат JSON, который применяет различные цвета к occupied
свойству в зависимости от его значения:
{
"styles":[
{
"keyname":"occupied",
"type":"boolean",
"rules":[
{
"true":"#FF0000",
"false":"#00FF00"
}
]
}
]
}
Получив успешный ответ, скопируйте значение statesetId
из его текста. В следующем разделе используйте statesetId
, чтобы изменить состояние свойства occupancy
элемента с функцией id
"UNIT26". При использовании Postman отображается следующим образом:
Обновление состояния объекта
В этом разделе показано, как обновить 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, он должен выглядеть следующим образом:
Наконец, в тексте HTTP-запроса добавьте сведения о стиле в необработанный формат JSON, который применяет различные цвета к occupied
свойству в зависимости от его значения:
{
"states": [
{
"keyName": "occupied",
"value": true,
"eventTimestamp": "2020-11-14T17:10:20"
}
]
}
Примечание.
Обновление будет сохранено только в том случае, если метка времени будет создана позже метки времени предыдущего запроса.
После отправки HTTP-запроса и завершения обновления вы получите 200 OK
код состояния HTTP. Если вы реализовали динамические стили для схемы помещений, обновление будет отображаться на выведенной схеме под указанной меткой времени.
Дополнительная информация:
Сведения о том, как получить состояние компонента с помощью его идентификатора функции, см. в разделе "Состояние компонента " Список состояний".
Сведения о том, как удалить набор данных и его ресурсы, см. в разделе Состояние компонента — удалить.
Сведения об использовании службы состояния компонента Azure Maps Creator для применения стилей, основанных на динамических свойствах функций данных карты, см. в статье Реализация динамического стиля для карт создателя.
Дополнительные сведения о различных службах Azure Карты Creator, рассмотренных в этой статье, см. в статье Creator Indoor Карты.
Следующие шаги
Узнайте, как реализовать динамическую стили для карт помещений.