JSON形式のマップ指定方法

[例1] JSON形式のマップデータ:レベルが同じ場合

../_images/api_json_mapdata01.png
map_data=
[
  [
    { "id":"31", "lev":"1", "rx":"0", "ry":"0" },
    { "id":"26", "lev":"1", "rx":"0", "ry":"0" },
    { "id":"20", "lev":"1", "rx":"0", "ry":"0" }
  ],
  [
    { "id":"11", "lev":"1", "rx":"0", "ry":"0" },
    { "id":"25", "lev":"1", "rx":"0", "ry":"0" },
    { "id":"23", "lev":"1", "rx":"0", "ry":"0" }
  ]
]

[例2] JSON形式のマップデータ:レベルが異なる場合

../_images/api_json_mapdata02.png
map_data=
[
  [
    { "id":"31", "lev":"1", "rx":"0", "ry":"0" },
    { "id":"26", "lev":"2", "rx":"0", "ry":"0" },
    { "id":"26", "lev":"2", "rx":"1", "ry":"0" }
  ],
  [
    { "id":"20", "lev":"1", "rx":"0", "ry":"0" },
    { "id":"26", "lev":"2", "rx":"0", "ry":"0" },
    { "id":"26", "lev":"2", "rx":"1", "ry":"0" }
  ],
]

マップで指定する場合、fvのサイズに対してタイルが足りない場合はエラーとなります。

[例3] JSON形式のマップデータ:タグでの指定

../_images/api_json_mapdata03.png

greenタグと紐づいているIDは [2,5] 、yellowタグと紐づいているIDは [9] の場合

map_data=
[
  [
    {"search":{"keyword":"testx","default":{ "id":"3", "lev":"1", "rx":"0", "ry":"0"}}},
    {"id":"79", "lev":"1", "rx":"0", "ry":"0"},
    {"search":{"keyword":"yellow"}}
  ],
  [
    {"search":{"keyword":"green","default":{"id":"99", "lev":"1", "rx":"0", "ry":"0"}}},
    {"search":{"keyword":"green","default":{"id":"78", "lev":"1", "rx":"0", "ry":"0"}}},
    {"search":{"keyword":"yellow"}}
  ]
]

以上のマップを元に fv を生成すると、

  • 1行目の1列目は、testxというタグが存在しないので、default で指定されている id が [3] のものが表示されます。
  • 1行目の2列目は、id 指定なので、その id が [79] のものを表示します。
  • 1行目の3列目は、yellow のタグ指定なので、id が [9] のものを表示します。
  • 2行目の1列目、2列目は共に green タグを指定したものが存在するので、1列目に id が [5]、2列目に id が [2] のものが表示されます。(最新のものから順番に表示されていきます。)
  • 2行目の3列目は、yellow タグが指定されていますが、表示するものがないので、黒い動画が表示されます。

[例4] JSON形式のマップデータ:タイムラインでの指定

メディア ID が 100 まで存在している場合

map_data=
[
  [
    {"id":"1", "lev":"1", "rx":"0", "ry":"0"},
    {"timeline":"true"}
  ],
  [
    { "id":"2", "lev":"1", "rx":"0", "ry":"0"},
    {"timeline":"true"}
  ]
]

上記のマップの場合、メディア ID の数が大きいほど最新のものになるので、 生成される fv の構成は以下となります。

../_images/api_json_mapdata04.png

[例5] JSON形式のマップデータ:fv 上での再生箇所の指定

マップ指定で時間軸結合を行う場合は、
{ “id”:”300”, “lev”:”1”, “rx”:”0”, “ry”:”0”, “st”:”6”,”dur”:”6”},
のような形で、st と dur の指定をし結合を行います。
  • st には、そのメディアの開始位置
  • dur には、そのメディアの開始位置からの再生時間

の指定をします。

map_data=
[
  [
    { "id":"1", "lev":"1", "rx":"0", "ry":"0"},
    { "id":"2", "lev":"1", "rx":"0", "ry":"0", "st":"6","dur":"4"}
  ],
  [
    { "id":"3", "lev":"1", "rx":"0", "ry":"0", "st":"6","dur":"6"},
    { "id":"4", "lev":"1", "rx":"0", "ry":"0", "st":"6","dur":"8"}
  ]
]

この指定の場合は、st と dur の指定がされていない ID:1 は既存の再生の仕方と同様で,メディアID:2 は、そのメディアの6秒目から4秒間動画が再生されます。ID:3,4 は、そのメディアの6秒目から、6秒間と8秒間動画が再生されます。

fv 全体の長さが、dur で指定した長さ以上の場合は、st で指定した地点から dur で指定した秒数の間の動画を繰り返し再生します。