Harmoware-VIS とは
停留所アイコン付きグラフを時間経過で更新
Harmoware-VIS で停留所アイコンにグラフを表示する機能(参照)では、時間経過によるデータ更新はしないのでアイコン表示中に変化しません。
Harmoware-VIS に登録した停留所データ( depotsBase )から、表示用の停留所のデータ( depotsData )を生成する処理をカスタマイズするオーバーライド関数を使用することで実現できます。
オーバーライド関数を登録する書式
this.props.actions.setDepotsOptionFunc(getDepotsOptionFunc);
引数となる getDepotsOptionFunc の関数書式
const getDepotsOptionFunc(props,index) => object
オーバーライド関数は1停留所(index)毎にコールします。
| 引数 | 説明 |
|---|---|
| props | アプリのルートの プロパティ |
| index | 停留所データ(depotsBase)内の処理中のindex |
リターン値は既定の停留所のデータ( depotsData )に上書きされますので注意してください。
既定では position 及び、その他の depotsBase に含まれる要素がコピーされます。
時間経過でグラフを更新
シミュレーション中の経過時間は Harmoware-VIS のプロパティの settime に設定されています。
このデータから然るべきグラフで表示する値を求め、 DepotsLayer のプロパティの optElevation 及び optColor 要素を編集します。
オーバーライド関数のコード例
(getGraphValue(n) はグラフのデータを取得する関数を想定)
const getDepotsOptionFunc(props,index) => {
const {settime, depotsBase} = props; // 必要なプロパティの取出し
const currentData = depotsBase[index]; // 対象のデータを抽出
const optElevation = []; // オプショングラフのデータ用エリア
optElevation[0] = getGraphValue0(settime,currentData);
optElevation[1] = getGraphValue1(settime,currentData);
optElevation[2] = getGraphValue2(settime,currentData);
optElevation[3] = getGraphValue3(settime,currentData);
const optColor = [[255,0,0],[0,255,0],[0,0,255],[255,255,255]]; // オプショングラフのデータの色指定
return {optElevation,optColor};
}
※注意※
オーバーライド関数の引数のHarmoware-VIS のプロパティの depotsData は、前回の表示済データですのでご注意ください。