Créer un stateset de caractéristique

Les ensembles d’états de fonctionnalité définissent des propriétés et des valeurs dynamiques sur des fonctionnalités spécifiques qui les prennent en charge. Cet article explique comment créer un stateset qui définit des valeurs et des styles correspondants pour une propriété, puis comment modifier l’état d’une propriété.

Prérequis

Important

  • Cet article utilise l’URL géographique us.atlas.microsoft.com. Si votre service Creator n’a pas été créé aux États-Unis, vous devez utiliser une autre URL géographique. Pour plus d’informations, consultez Accès aux services Creator.
  • Dans les exemples d’URL de cet article, vous devez remplacer :

Créer le stateset de fonctionnalité

Pour créer un stateset :

Créez une requête HTTP POST qui utilise l’API Stateset. La requête doit ressembler à l’URL suivante :

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

Ensuite, définissez Content-Type sur application/json dans l’en-tête de la requête.

Si vous utilisez un outil comme Postman, il doit présenter l’aspect suivant :

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.

Enfin, dans le corps de la requête HTTP, incluez les informations de style au format JSON brut. Cela permet d’appliquer différentes couleurs à la propriété occupied en fonction de sa valeur :

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

Une fois la réponse retournée, copiez le statesetId à partir du corps de la réponse. Dans la section suivante, vous utilisez le statesetId pour changer l’état de la propriété occupancy de l’unité avec l’id de fonctionnalité « UNIT26 ». Si vous utilisez Postman, l’affichage apparaît comme suit :

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

Mettre à jour l’état d’une caractéristique

Dans cette section, vous allez apprendre à mettre à jour l’état occupied de l’unité avec la fonctionnalité « UNIT26 » id. Pour mettre à jour l'état occupied, créez une nouvelle requête HTTP PUT en appelant l'API Feature Statesets. La requête doit ressembler à l’URL suivante (remplacez {statesetId} par le statesetId obtenu dans Créer un stateset de fonctionnalité) :

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

Ensuite, définissez Content-Type sur application/json dans l’en-tête de la requête.

Si vous utilisez un outil comme Postman, il doit présenter l’aspect suivant :

A screenshot of the header tab information for stateset creation.

Enfin, dans le corps de la requête HTTP, incluez les informations de style au format JSON brut. Cela permet d’appliquer différentes couleurs à la propriété occupied en fonction de sa valeur :

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

Notes

La mise à jour n’est enregistrée que si l’horodatage de la publication est postérieur à celui de la requête précédente.

Une fois la requête HTTP envoyée, puis la mise à jour terminée, vous recevez un code d’état HTTP 200 OK. Si vous avez implémenté une application de style dynamique pour une carte d’intérieur, la mise à jour s’affiche à l’horodatage spécifié dans votre carte rendue.

Informations supplémentaires

Étapes suivantes

Découvrez comment implémenter des styles dynamiques pour les cartes d’intérieur.