STARScontroller

概要

STARScontroller が各Web アプリケーションを同期する為には、STARScontroller側から各 Web アプリケーション側の予め決められたグローバルなメソッドをコールする事で同期処理を実現します。

時間(日時)の同期

日時情報を持つWebアプリケーションの場合、グローバルなメソッドとして下記に示すSTARScontroller_getDate関数とSTARScontroller_setDate関数を実装して下さい。Webアプリケーションが日時情報を持たない場合は実装不要です。

STARScontroller_getDate関数

STARScontrollerがWebアプリケーションの現在日時情報を取得するため定期的にコールします。戻り値としてWebアプリケーションの現在日時情報を返して下さい。

構文 STARScontroller_getDate()
引数 Webアプリケーションの現在日時情報を保持するJSONオブジェクト
名前 備考
currentDate Date 現在日時
startDate Date 開始日時。例えば画面上に横方向の時間軸バー等を持つWebアプリケーションなら左端の日時。
endDate Date 終了日時。例えば画面上に横方向の時間軸バー等を持つWebアプリケーションなら右端の日時。
  {
    currentDate : xxxxx,
    startDate : xxxxx,
    endDate : xxxxx
  }
戻り値 無し
実装例
  function STARScontroller_getDate()
  {
    var date={};
    date.currentDate=現在日時;
    date.startDate=時間軸バー左端日時;
    date.endDate=時間軸バー右端日時;
    return date;
  }

STARScontroller_setDate関数

STARScontrollerがWebアプリケーションの現在日時を同期させる際にコールします。当該メソッドがコールされたらWebアプリケーション側で日時変更に伴う必要な処理を行って下さい。

構文 STARScontroller_setDate(pDate)
引数 Webアプリケーションの現在日時情報を変更する為のJSONオブジェクト
名前 備考
currentDate Date 現在日時
startDate Date 開始日時。例えば画面上に横方向の時間軸バー等を持つWebアプリケーションなら左端の日時。
endDate Date 終了日時。例えば画面上に横方向の時間軸バー等を持つWebアプリケーションなら右端の日時。
  {
    currentDate : xxxxx,
    startDate : xxxxx,
    endDate : xxxxx
  }
戻り値 無し
実装例
function STARScontroller_setDate(pDate)
{
  // pDateよりアプリの日時情報を変更する処理を実装して下さい。
}

GIS(位置情報)の同期

位置情報を持つWebアプリケーションの場合、グローバルなメソッドとして下記に示すSTARScontroller_getPosition関数とSTARScontroller_setPosition関数を実装して下さい。Webアプリケーションが位置情報を持たない場合は実装不要です。

STARScontroller_getPosition関数

STARScontrollerがWebアプリケーションの現在位置情報を取得するため定期的にコールします。戻り値としてWebアプリケーションの現在位置情報を返して下さい。

構文 STARScontroller_getPosition()
引数 無し
戻り値 Webアプリケーションの現在位置情報を保持するJSONオブジェクト
名前 備考
center lat 数値 画面中央の緯度
lng 数値 画面中央の緯度
north 数値 画面上端の緯度
east 数値 画面右端の経度
south 数値 画面下端の緯度
west 数値 画面左端の経度
zoom 数値 地図の縮尺、Google Map APIのズームレベル(1~21)に換算した値
{
center : { lat : 999.999999, lng : 999.999999 },
north : 999.999999,
east : 999.999999,
south : 999.999999,
west : 999.999999,
zoom : 99
}
実装例
  function STARScontroller_getPosition()
  {
    var position={};
    position.center={};
    position.center.lat=画面中央緯度;
    position.center.lng=画面中央経度;
    position.north=画面上端緯度;
    position.east=画面右端経度;
    position.south=画面下端緯度;
    position.west=画面左端経度;
    position.zoom=ズームレベル;
    return position;
  }

STARScontroller_setPosition関数

STARScontrollerがWebアプリケーションの現在位置を同期させる際にコールします。当該メソッドがコールされたらWebアプリケーション側で位置変更に伴う必要な処理を行って下さい。

構文 STARScontroller_setPosition(pPosition)
引数 Webアプリケーションの現在位置情報を保持するJSONオブジェクト
名前 備考
center lat 数値 画面中央の緯度
lng 数値 画面中央の緯度
north 数値 画面上端の緯度
east 数値 画面右端の経度
south 数値 画面下端の緯度
west 数値 画面左端の経度
zoom 数値 地図の縮尺、Google Map APIのズームレベル(1~21)に換算した値
{
center : { lat : 999.999999, lng : 999.999999 },
north : 999.999999,
east : 999.999999,
south : 999.999999,
west : 999.999999,
zoom : 99
}
戻り値 無し
実装例
  function STARScontroller_setPosition(pPosition)
  {
    // pPositionよりアプリの位置情報を変更する処理を実装して下さい。
  }

状態の取得

Webアプリケーションの状態を取得する為、グローバルなメソッドとして下記に示すSTARScontroller_isReady関数を実装して下さい。

STARScontroller_isReady関数

Webアプリケーションが日時情報や位置情報の取得・設定が可能な状態かを判別する為、STARScontrollerが定期的にコールします。戻り値としてWebアプリケーションの現在の状態を返して下さい

構文 STARScontroller_isReady()
引数 無し
戻り値 Webアプリケーションの現在の状態を表す論理値(true/false)。
例えば、日時情報や位置情報の変更処理中であったり、
各種データをサーバからダウンロード中で日時情報や位置情報の変更が今は出来ない状態の場合にはfalseを返して下さい。
日時情報や位置情報の変更が可能な状態であればtrueを返して下さい。
実装例
  function STARScontroller_isReady()
  {
    return 論理値;
  }

Webパーツ「Timeline」のご紹介

Webページに時間軸バーを簡単に組み込む事が出来るjqueryプラグイン「Timeline」を使用するとSTARScontrollerの日時を同期するための実装(STARScontroller_getDate関数およびSTARScontroller_setDate関数)が比較的簡単に行えます

jqueryプラグイン「Timeline」の詳しい情報は下記サイトをご確認下さい。 http://k2go.jp/public/Timeline/

STARScontroller_getDate関数の実装例
  function STARScontroller_getDate()
  {
    var options=$(セレクタ).nictTimeline("getOptions");
    var date={};
    date.currentDate=options.currentTime;
    date.startDate=options.startTime;
    date.endDate=options.endTime;
    return date;
  }
STARScontroller_setDate関数の実装例
  function STARScontroller_setDate(pDate)
  {
    $(セレクタ).nictTimeline("create",
    {
      minTime : 最小日時,
      maxTime : 最大日時,
      startTime : pDate.startDate,
      endTime : pDate.endDate,
      currentTime : pDate.currentDate
    });
  }