Geolocation - TakayukiHoshi1984/DeviceConnect-Spec GitHub Wiki
スマートデバイスの位置情報機能を提供するAPI。
| API | 概要 |
|---|---|
| GET /gotapi/geolocation/currentPosition | 該当デバイスの現在の位置情報を取得する。 |
| GET /gotapi/geolocation/onWatchPosition | 該当デバイスの位置情報定期通知イベントを取得する。 |
| PUT /gotapi/geolocation/onWatchPosition | 該当デバイスの位置情報定期通知イベントを開始する。 |
| DELETE /gotapi/geolocation/onWatchPosition | 該当デバイスの位置情報定期通知イベントを停止する。 |
one-shot
該当デバイスの現在の位置情報を取得する。
現在位置が取得できない場合は、取得するまでリクエストを待たせる。 以前の位置情報を返しても良い場合は、GET /geolocation/onWatchPositionを使用すること。
| 物理名 | データ型 | 必須 | 説明 |
|---|---|---|---|
| serviceId | string | Yes | サービスID。取得対象スマートデバイス |
| highAccuracy | boolean | No | 測位精度設定。 true : 高精度 false : 通常精度 省略時はfalse |
| maximumAge | double | No | 位置情報有効時間(ミリ秒単位)省略時は0mSec ※前回呼び出し時から該当時間以上経過していた場合に最新の位置情報を返す。 それ以外は前回と同じ位置情報を返す。 |
| 論理名 | 物理名 | データ型 | 必須 | 説明 | ||
|---|---|---|---|---|---|---|
| 処理結果 | result | integer | Yes | 0:正常応答 0以外:異常応答 |
||
| システム名 | product | string | Yes | DeviceConnectシステムの名前。 | ||
| システムバージョン | version | string | Yes | DeviceConnectシステムのバージョン名。 | ||
| 署名 | hmac | string | No | レスポンスに対する署名。 アプリケーション側から事前にHMACキーを共有されていた場合は必須。 |
||
| 位置情報 | position | object | Yes | |||
| 座標 | coordinates | object | Yes | 座標のオブジェクト | ||
| 緯度 | latitude | float | No | -180~180 単位:degree |
||
| 経度 | longitude | float | No | -90~90 単位:degree |
||
| 高度 | altitude | float | No | 単位:m | ||
| 緯度・経度の誤差 | accuracy | float | No | 単位:m | ||
| 高度の誤差 | altitudeAccuracy | float | No | 単位:m | ||
| 方角 | heading | float | No | 0~359 単位:degree 真北に対して右回りで 0 ≦ heading < 360 |
||
| 速度 | speed | float | No | 単位:m/Sec | ||
| 測位時刻 | timeStamp | float | Yes | エポックからのミリ秒 | ||
| 測位時刻 (文字列) | timeStampString | dateTime | Yes | 測位時刻を文字列表記 RFC3339「yyyy-MM-dd''T''HH:mm:ssZZZZZ」の形式 |
||
{
"result" : 0,
"product" : "Example System",
"version" : "1.0.0",
"position" : {
"coordinates" : {
"latitude" : 37.52104948,
"longitude" : 139.93875834,
"altitude" : 285,
"accuracy" : 31,
"altitudeAccuracy" : 15,
"heading" : 0,
"speed" : 0
},
"timeStamp" : 1483241696789,
"timeStampString" : "2015-05-17T10:02:20+09:00"
}
}
one-shot
該当デバイスの位置情報定期通知イベントを取得する。
現在の位置情報の取得ができない場合は、以前取得した位置情報を返しても良い。 以前の位置情報も取得できなかった場合はエラーを返す。
| 物理名 | データ型 | 必須 | 説明 |
|---|---|---|---|
| serviceId | string | Yes | サービスID。取得対象スマートデバイス |
| highAccuracy | boolean | No | 測位精度設定。 true : 高精度 false : 通常精度 省略時はfalse |
| interval | double | No | デバイスプラグインがイベントを送信する間隔。 |
| 論理名 | 物理名 | データ型 | 必須 | 説明 | ||
|---|---|---|---|---|---|---|
| 処理結果 | result | integer | Yes | 0:正常応答 0以外:異常応答 |
||
| システム名 | product | string | Yes | DeviceConnectシステムの名前。 | ||
| システムバージョン | version | string | Yes | DeviceConnectシステムのバージョン名。 | ||
| 署名 | hmac | string | No | レスポンスに対する署名。 アプリケーション側から事前にHMACキーを共有されていた場合は必須。 |
||
| 位置情報 | position | object | Yes | |||
| 座標 | coordinates | object | Yes | 座標のオブジェクト | ||
| 緯度 | latitude | float | No | -180~180 単位:degree |
||
| 経度 | longitude | float | No | -90~90 単位:degree |
||
| 高度 | altitude | float | No | 単位:m | ||
| 緯度・経度の誤差 | accuracy | float | No | 単位:m | ||
| 高度の誤差 | altitudeAccuracy | float | No | 単位:m | ||
| 方角 | heading | float | No | 0~359 単位:degree 真北に対して右回りで 0 ≦ heading < 360 |
||
| 速度 | speed | float | No | 単位:m/Sec | ||
| 測位時刻 | timeStamp | float | Yes | エポックからのミリ秒 | ||
| 測位時刻 (文字列) | timeStampString | dateTime | Yes | 測位時刻を文字列表記 RFC3339「yyyy-MM-dd''T''HH:mm:ssZZZZZ」の形式 |
||
{
"result" : 0,
"product" : "Example System",
"version" : "1.0.0",
"position" : {
"coordinates" : {
"latitude" : 37.52104948,
"longitude" : 139.93875834,
"altitude" : 285,
"accuracy" : 31,
"altitudeAccuracy" : 15,
"heading" : 0,
"speed" : 0
},
"timeStamp" : 1483241696789,
"timeStampString" : "2015-05-17T10:02:20+09:00"
}
}
event
該当デバイスの位置情報定期通知イベントを開始する。
該当デバイスでサポートしていないパラメータがある場合には、 そのパラメータを省略する。
| 物理名 | データ型 | 必須 | 説明 |
|---|---|---|---|
| serviceId | string | Yes | サービスID。取得対象スマートデバイス |
| highAccuracy | boolean | No | 測位精度設定。 true : 高精度 false : 通常精度 省略時はfalse |
| interval | double | No | デバイスプラグインがイベントを送信する間隔。 |
| 論理名 | 物理名 | データ型 | 必須 | 説明 |
|---|---|---|---|---|
| 処理結果 | result | integer | Yes | 0:正常応答 0以外:異常応答 |
| システム名 | product | string | Yes | DeviceConnectシステムの名前。 |
| システムバージョン | version | string | Yes | DeviceConnectシステムのバージョン名。 |
| 署名 | hmac | string | No | レスポンスに対する署名。 アプリケーション側から事前にHMACキーを共有されていた場合は必須。 |
{
"result" : 0,
"product" : "Example System",
"version" : "1.0.0"
}
| 論理名 | 物理名 | データ型 | 必須 | 説明 | ||
|---|---|---|---|---|---|---|
| サービスID | serviceId | string | Yes | イベントを送信したサービスのID | ||
| プロファイル名 | profile | string | Yes | プロファイル名。 | ||
| インターフェース名 | interface | string | Yes | インターフェース名。 | ||
| アトリビュート名 | attribute | string | Yes | アトリビュート名。 | ||
| 位置情報 | position | object | Yes | |||
| 座標 | coordinates | object | Yes | 座標のオブジェクト | ||
| 緯度 | latitude | float | No | -180~180 単位:degree |
||
| 経度 | longitude | float | No | -90~90 単位:degree |
||
| 高度 | altitude | float | No | 単位:m | ||
| 緯度・経度の誤差 | accuracy | float | No | 単位:m | ||
| 高度の誤差 | altitudeAccuracy | float | No | 単位:m | ||
| 方角 | heading | float | No | 0~359 単位:degree 真北に対して右回りで 0 ≦ heading < 360 |
||
| 速度 | speed | float | No | 単位:m/Sec | ||
| 測位時刻 | timeStamp | float | Yes | エポックからのミリ秒 | ||
| 測位時刻 (文字列) | timeStampString | dateTime | Yes | 測位時刻を文字列表記 RFC3339「yyyy-MM-dd''T''HH:mm:ssZZZZZ」の形式 |
||
{
"serviceId" : "Host.exampleId.localhost.deviceconnect.org",
"profile" : "geolocation",
"attribute" : "onwatchposition",
"position" : {
"coordinates" : {
"latitude" : 37.52104948,
"longitude" : 139.93875834,
"altitude" : 285,
"accuracy" : 31,
"altitudeAccuracy" : 15,
"heading" : 0,
"speed" : 0
},
"timeStamp" : 1483241696789,
"timeStampString" : "2015-05-17T10:02:20+09:00"
}
}
event
該当デバイスの位置情報定期通知イベントを停止する。
該当デバイスでサポートしていないパラメータがある場合には、 そのパラメータを省略する。
| 物理名 | データ型 | 必須 | 説明 |
|---|---|---|---|
| serviceId | string | Yes | サービスID。取得対象スマートデバイス |
| 論理名 | 物理名 | データ型 | 必須 | 説明 |
|---|---|---|---|---|
| 処理結果 | result | integer | Yes | 0:正常応答 0以外:異常応答 |
| システム名 | product | string | Yes | DeviceConnectシステムの名前。 |
| システムバージョン | version | string | Yes | DeviceConnectシステムのバージョン名。 |
| 署名 | hmac | string | No | レスポンスに対する署名。 アプリケーション側から事前にHMACキーを共有されていた場合は必須。 |
{
"result" : 0,
"product" : "Example System",
"version" : "1.0.0"
}