地物状態セットを作成する
地物状態セットを使用して、動的なプロパティと値を定義します。その際、これらのプロパティと値をサポートする特定の地物に対して定義します。 この記事では、プロパティの値と対応するスタイルを定義する状態セットを作成し、プロパティの状態を変更する方法について説明します。
前提条件
- 「WFS API を使用したデータセットのクエリ」が完了している。
- 「チュートリアル: "Creator を使用して屋内マップを作成する"」の「データセットの作成状態を確認する」セクションで取得した
datasetId
。
重要
- この記事では、地理的な URL
us.atlas.microsoft.com
を使用します。 Creator サービスが米国内で作成されていない場合は、別の地理的 URL を使用する必要があります。 詳細については、「Creator サービスにアクセスする」を参照してください。 - この記事の URL の例では、次の項目を置き換える必要があります。
{Azure-Maps-Subscription-key}
を Azure Maps サブスクリプション キーに置き換える必要があります。{datasetId}
を、"Creator を使用して屋内マップを作成する" のチュートリアルの「データセットの作成状態を確認する」セクションで取得したdatasetId
に置き換えます。
地物状態セットを作成する
状態セットを作成するには、次の手順を行います。
Stateset API を使用する新しい HTTP POST 要求を作成します。 要求は次の 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
を使用して、地物 id
が "UNIT26" となっているユニットの occupancy
プロパティの状態を変更します。 Postman を使用している場合は、次のように表示されます。
地物状態を更新する
このセクションでは、地物 id
"UNIT26" を使用してユニットの occupied
状態を更新する方法について説明します。 occupied
状態を更新するには、Feature Statesets API を呼び出す新しい HTTP PUT 要求を作成します。 要求は、次の 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"
}
]
}
Note
この更新は、POST されたタイム スタンプが前の要求のタイム スタンプより後の場合にのみ保存されます。
HTTP 要求が送信され、更新が完了すると、200 OK
HTTP 状態コードを受信します。 フロア ガイドに動的スタイル設定を実装した場合、レンダリングされたマップに指定されたタイムスタンプで更新内容が表示されます。
関連情報
地物 ID を使用して地物の状態を取得する方法については、地物の状態 - 地物の一覧表示に関するページを参照してください。
stateset とそのリソースを削除する方法の詳細については、「Feature State - Delete Stateset」を参照してください。
Azure Maps Creator の Feature State サービスを使用して、屋内マップ データ機能の動的プロパティに基づくスタイルを適用するには、「Creator の屋内マップに動的スタイル設定を実装する」を参照してください。
この記事で説明したさまざまな Azure Maps Creator サービスの詳細については、Creator の屋内マップに関するページを参照してください。
次の手順
屋内マップに動的スタイル設定を実装する方法について説明します。