#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
は、前回の表示済データですのでご注意ください。