次の方法で共有


Wayfinding - Get Path

施設内の 2 つの場所間の最適なパスを計算するには、 を使用します。

Wayfinding Service は Creator の一部であり、 Open Geospatial Consortium 標準に準拠しています。 Wayfinding では、 ルートセット からの屋内マップ データを使用して、同じ施設内の 2 つの場所間の最適なパスを計算します。 詳細については、「屋内マップの作成者」の「Wayfinding」の概念に関する記事を参照してください。

GET https:///wayfinding/path?api-version=2023-03-01-preview&routesetId={routesetId}&facilityId={facilityId}&fromPoint={fromPoint}&fromLevel={fromLevel}&toPoint={toPoint}&toLevel={toLevel}
GET https:///wayfinding/path?api-version=2023-03-01-preview&routesetId={routesetId}&facilityId={facilityId}&fromPoint={fromPoint}&fromLevel={fromLevel}&toPoint={toPoint}&toLevel={toLevel}&avoidFeatures={avoidFeatures}&minWidth={minWidth}

URI パラメーター

名前 / 必須 説明
api-version
query True

string

Azure Maps API のバージョン番号。

facilityId
query True

string

パスを検索するルートセット内のファシリティの識別子。

fromLevel
query True

integer

int32

パスの配信元レベル。

fromPoint
query True

string

{latitude},{longitude} の形式のパスの原点。

routesetId
query True

string

クエリの対象となるルートセットの ID。

toLevel
query True

integer

int32

パスの宛先レベル。

toPoint
query True

string

次の形式のパスの変換先: {latitude}、{longitude}。

avoidFeatures
query

avoidFeatures[]

結果のパスに特定の種類のコネクタが含まれるのを回避するため。 複数の値を指定できます。

minWidth
query

number

検索パス内の開口部の最小幅 (メートル単位)。 たとえば、最小幅 0.85 を指定した場合、検索パスは幅 85 センチメートル未満の開口部を回避します。 注: この値を使用すると、結果として得られるパス ポイントは、指定された幅の半分ずつ、壁やその他の垂直障害物からバッファーされます。

要求ヘッダー

名前 必須 説明
x-ms-client-id

string

Microsoft Entra ID セキュリティ モデルと組み合わせて使用するアカウントを指定します。 Azure Maps アカウントの一意の ID を表し、Azure Maps管理プレーン アカウント API から取得できます。 Azure MapsでMicrosoft Entra IDセキュリティを使用するには、ガイダンスについては、次の記事を参照してください。

応答

名前 説明
200 OK

WayfindResult

OK

Other Status Codes

ErrorResponse

予期しないエラーが発生しました。

セキュリティ

AADToken

これらは Azure Active Directory OAuth2 フローです。 Azure ロールベースのアクセス制御と組み合わせて使用すると、Azure Maps REST API へのアクセスを制御できます。 Azure ロールベースのアクセス制御は、1 つ以上のAzure Mapsリソース アカウントまたはサブリソースへのアクセスを指定するために使用されます。 REST API をAzure Mapsするための 1 つ以上のアクセス許可で構成される組み込みロールまたはカスタム ロールを使用して、ユーザー、グループ、またはサービス プリンシパルにアクセス権を付与できます。

シナリオを実装するには、 認証の概念を表示することをお勧めします。 要約すると、このセキュリティ定義は、特定の API とスコープに対するアクセス制御が可能なオブジェクトを使用してアプリケーションをモデル化するためのソリューションを提供します。

メモ

  • このセキュリティ定義では、 ヘッダーを使用して、x-ms-client-idアプリケーションがアクセスを要求しているリソースAzure Maps示す必要があります。 これは、 Maps 管理 API から取得できます。

Authorization URL 、Azure パブリック クラウド インスタンスに固有です。 ソブリン クラウドには、一意の承認 URL と Azure Active Directory 構成があります。 * Azure ロールベースのアクセス制御は、Azure portal、PowerShell、CLI、Azure SDK、または REST API を介して Azure 管理プレーンから構成されます。 * Azure Maps Web SDK を使用すると、複数のユース ケースに対してアプリケーションを構成ベースで設定できます。

  • 現在、Azure Active Directory v1.0 または v2.0 では、職場、学校、ゲストはサポートされていますが、個人用アカウントはサポートされていません。

型: oauth2
フロー: implicit
Authorization URL (承認 URL): https://login.microsoftonline.com/common/oauth2/authorize

スコープ

名前 説明
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

これは、Azure portalでAzure Maps アカウントを作成するとき、または PowerShell、CLI、Azure SDK、または REST API を使用してプロビジョニングされる共有キーです。

このキーを使用すると、すべてのアプリケーションですべての REST API にアクセスできます。 つまり、このキーは、発行先のアカウントのマスター キーとして使用できます。

公開されているアプリケーションの場合は、機密クライアント アプリケーション のアプローチを使用して、キーを安全に格納できるように、Azure Maps REST API にアクセスすることをお勧めします。

型: apiKey
/: query

SAS Token

これは、Azure portal、PowerShell、CLI、Azure SDK、または REST API を介して Azure 管理プレーンを介して、Azure Maps リソースの List SAS 操作から作成される共有アクセス署名トークンです。

このトークンを使用すると、すべてのアプリケーションが Azure ロールベースのアクセス制御を使用してアクセスし、特定のトークンに使用される有効期限、レート、およびリージョンに対するきめ細かい制御が許可されます。 言い換えると、SAS トークンを使用して、アプリケーションが共有キーよりもセキュリティで保護された方法でアクセスを制御できます。

公開されているアプリケーションの場合、 Map アカウント リソース で許可される配信元の特定のリストを構成して、レンダリングの不正使用を制限し、SAS トークンを定期的に更新することをお勧めします。

型: apiKey
/: header

Get the shortest path between two points in the facility.

要求のサンプル

GET https:///wayfinding/path?api-version=2023-03-01-preview&routesetId=[routeset-Id]&facilityId=[facility-Id]&fromPoint=47.652882287901065,-122.13400410050512&fromLevel=-1&toPoint=47.652870534630466,-122.13382884389553&toLevel=0

応答のサンプル

{
  "noResultExplanation": "NoExplanation",
  "paths": [
    {
      "lengthInMeters": 51.27548,
      "timeInSeconds": 60,
      "legs": [
        {
          "mode": "Default",
          "lengthInMeters": 14.7605,
          "timeInSeconds": 15,
          "startLevel": 0,
          "endLevel": 0,
          "points": [
            {
              "latitude": 47.6528823,
              "longitude": -122.1340041
            },
            {
              "latitude": 47.6528688,
              "longitude": -122.1340336
            },
            {
              "latitude": 47.6528591,
              "longitude": -122.1340534
            },
            {
              "latitude": 47.6528309,
              "longitude": -122.1341107
            },
            {
              "latitude": 47.6527984,
              "longitude": -122.1341556
            }
          ]
        },
        {
          "mode": "Stair",
          "lengthInMeters": 7.88608,
          "timeInSeconds": 16,
          "startLevel": 0,
          "endLevel": 1,
          "points": [
            {
              "latitude": 47.6527984,
              "longitude": -122.1341556
            },
            {
              "latitude": 47.6527843,
              "longitude": -122.1341395
            }
          ]
        },
        {
          "mode": "Default",
          "lengthInMeters": 28.6289,
          "timeInSeconds": 29,
          "startLevel": 1,
          "endLevel": 1,
          "points": [
            {
              "latitude": 47.6527843,
              "longitude": -122.1341395
            },
            {
              "latitude": 47.6527843,
              "longitude": -122.1341395
            },
            {
              "latitude": 47.6527843,
              "longitude": -122.1341395
            },
            {
              "latitude": 47.6527846,
              "longitude": -122.1341332
            },
            {
              "latitude": 47.652789,
              "longitude": -122.1341315
            },
            {
              "latitude": 47.6527898,
              "longitude": -122.1341312
            },
            {
              "latitude": 47.6527913,
              "longitude": -122.1341306
            },
            {
              "latitude": 47.6527938,
              "longitude": -122.1341295
            },
            {
              "latitude": 47.6528309,
              "longitude": -122.1341137
            },
            {
              "latitude": 47.652856,
              "longitude": -122.1340564
            },
            {
              "latitude": 47.6528694,
              "longitude": -122.1340372
            },
            {
              "latitude": 47.652873,
              "longitude": -122.1339296
            },
            {
              "latitude": 47.6528735,
              "longitude": -122.1339124
            },
            {
              "latitude": 47.6528733,
              "longitude": -122.1339095
            },
            {
              "latitude": 47.6528732,
              "longitude": -122.1338288
            }
          ]
        }
      ]
    }
  ]
}

定義

名前 説明
avoidFeatures

結果のパスに特定の種類のコネクタが含まれるのを回避するため。 複数の値を指定できます。

ErrorAdditionalInfo

リソース管理エラーの追加情報。

ErrorDetail

エラーの詳細。

ErrorResponse

エラー応答

Leg

パス全体のセクション。

NoResultExplanation

パスが見つからない場合、 paths 配列は空になります。 パスが見つからなかった理由を特定できる場合、このプロパティは理由を説明します。

Path

配信元と宛先の間の特定のパスに関する詳細。 それは1つ以上の足で構成することができる。

Point

施設内のポイント。

WayfindResult

この Wayfinding Path 要求によって返されるオブジェクト。

avoidFeatures

結果のパスに特定の種類のコネクタが含まれるのを回避するため。 複数の値を指定できます。

名前 説明
elevators

string

エレベーターは避けてください。

stairs

string

階段は避けてください。

ErrorAdditionalInfo

リソース管理エラーの追加情報。

名前 説明
info

object

追加情報。

type

string

追加情報の種類。

ErrorDetail

エラーの詳細。

名前 説明
additionalInfo

ErrorAdditionalInfo[]

エラーの追加情報。

code

string

エラー コード。

details

ErrorDetail[]

エラーの詳細です。

message

string

エラー メッセージ。

target

string

エラーのターゲット。

ErrorResponse

エラー応答

名前 説明
error

ErrorDetail

error オブジェクト。

Leg

パス全体のセクション。

名前 説明
endLevel

integer

この脚が終わる床。

lengthInMeters

number

この脚の脚の長さ (メートル単位)。

mode

string

この脚のトラバーサルのレッグ モード。 レベル間を垂直方向に移動する場合は、既定 (すべて同じレベル)、エレベーター、または階段にすることができます。

points

Point[]

脚の形状がポイントします。 垂直方向の位置は次のように決定されます。startLevel と endLevel が同じ場合、すべてのポイントが同じ高さになります。それ以外の場合、配列には startLevel の 1 つ目と endLevel の 2 つ目のポイントのみが含まれます。

startLevel

integer

この脚が始まる床。

timeInSeconds

integer

この脚の最初と最後のポイントの間を移動する脚の移動時間 (秒単位)。

NoResultExplanation

パスが見つからない場合、 paths 配列は空になります。 パスが見つからなかった理由を特定できる場合、このプロパティは理由を説明します。

名前 説明
NoExplanation

string

結果が返されたとき、またはパスが見つからなかった理由を判断できなかった場合に指定される既定値。

Path

配信元と宛先の間の特定のパスに関する詳細。 それは1つ以上の足で構成することができる。

名前 説明
legs

Leg[]

このパスのさまざまな移動セクション。

lengthInMeters

number

パス全体のパスの長さ (メートル単位)。

timeInSeconds

integer

このパスに従うときに、配信元と宛先の間を移動するパスの合計時間 (秒)。

Point

施設内のポイント。

名前 説明
latitude

number

ポイント緯度

longitude

number

ポイント経度

WayfindResult

この Wayfinding Path 要求によって返されるオブジェクト。

名前 説明
noResultExplanation

NoResultExplanation

パスが見つからない場合、 paths 配列は空になります。 パスが見つからなかった理由を特定できる場合、このプロパティは理由を説明します。

paths

Path[]

ウェイファインディング パスの結果の配列。 結果が見つからなかった場合は、空の配列が返されます。