現在本サービスはβ公開中ですので、頻繁にAPIが修正される可能性があります。
大きな変更がある場合にはあらかじめTopページでお知らせしますが、基本的には変更後アナウンスとなることをご了承ください
以下の各APIは
http://imakoko-gps.appspot.com/で使用できます。
位置データについて
位置データは最初に登録された時刻を元にIDが付けられます。
そしてデータ登録が5分間なかったところで終了となり、次のデータ登録は新しいIDになります。
位置データのIDはログインしてユーザーTOPページで確認できます。
認証方式はHTTP BASIC認証です。
地図表示URL
- /static/view.html [GET]
- 全体地図を表示します。
地図上で各ユーザーの最新位置を表示します。地図のサイズはブラウザの大きさに合わせて変更されます。この地図で位置を公開したくない人はユーザーページから設定できます。
- /view [GET]
- 地図上で指定したユーザーの位置を表示するHTMLを出力します。
Ustream映像の追加等もできます。もっと自由にレイアウトしたい方はこの地図をiframeを使って埋め込むとよいと思います。
参考: slake 08さんのslake08 Ustream.TV with 今ココなう!(β)、みつごごさんのイマココ!UST@みつごご
| リクエストパラメータ |
| パラメータ名 | 内容 | 補足 |
| w | 地図の幅 | 指定するときは必ず両方指定します。 どちらも未指定の場合はブラウザのサイズに合わせます |
| h | 地図の高さ |
| users | プロットしたいユーザーのIDのリスト。カンマで区切って複数指定できます | usersかgroupのどちらかが必要です |
| group | プロットしたいグループのID |
| trace | 注目したいユーザーのID。allを指定するとプロットしたいユーザー全員が地図内に納まるように調整されます | デフォルト='all' |
| ust | Ustreamの映像とチャット欄を出したいユーザーのID。ユーザーがUstreamのIDを設定していないときはエラーになります | |
| plotmode | 軌跡の描き方。0=軌跡なし、1=点(最新1000個まで)、2=線 | デフォルトは1です |
| hide_userlist | 1を指定するとユーザー一覧とust映像・チャット欄を非表示にします。 | デフォルトは表示です |
- /view_data [GET,非公開の場合要認証]
- 過去に記録したデータを地図上にプロットします
| リクエストパラメータ |
| パラメータ名 | 内容 | 補足 |
| id | プロットしたいデータのID(必須) | |
| plotmode | 軌跡の描き方。0=軌跡なし、1=点、2=線 | デフォルトは2です |
ユーザーページ
- /home/<アカウント> [GET]
- ユーザープロフィールページを表示します。
- /user [GET,要HTTPS,要認証]
- ユーザーページを表示します。
ニックネームやUstreamIDを設定できます
また、過去のデータをGPXフォーマットでダウンロードしたり削除したりできます
- /user [POST,要HTTPS,要認証]
- ユーザ情報を更新します。
ニックネームやUstreamID、全体地図での公開状態を設定します。
- /user/gpx [GET,要HTTPS,要認証]
- 過去に保存したデータをGPXフォーマットでダウンロードします
| リクエストパラメータ |
| パラメータ名 | 内容 |
| id | ダウンロードデータのID(必須) |
| レスポンス |
| Content Type | text/xml; charset=utf-8 |
| Response Body | GPXフォーマットのログデータ |
API一覧
位置データ関係
- /api/post [POST,要認証]
- 座標データを登録します
| リクエストパラメータ |
| ContentType | application/x-www-form-urlencoded |
| パラメータ名 | 内容 |
| time | 時刻。YYYY-MM-DD'T'hh:mm:ss.sssZZZZZ形式(必須) |
| lat | 緯度(°)。10進形式(必須) |
| lon | 経度(°)。10進形式(必須) |
| gpsq | fix情報(省略可) |
| gpsn | 衛星捕捉数(省略可) |
| gpsh | 高度(m) (省略可) |
| gpsd | 方位(°)。北を0とした時計回りの角度(省略可) |
| gpsv | 速度(km/h)(省略可) |
| save | サーバにデータを保存するなら'1'。しないなら'0'。デフォルト'1'(省略可) |
| t | マーカータイプ。
'0':矢印 '1':携帯電話 '2':飛行機 '3':電車 '4':新幹線
'5':バス '6':自転車 '7':徒歩, '8':バイク, '9':ヘリコプター, '10':船
'99':Twitterアイコン デフォルト'0'(省略可) |
| レスポンス |
| Content Type | text/plain; charset=utf-8 |
| Response Body | 成功の場合'OK'、失敗/エラーの場合'NG' |
- /api/user_list [GET]
- 現在のユーザー一覧を取得します
| レスポンス |
| Content Type | text/javascript; charset=utf-8 (JSON形式) |
| first tag | second tag | 内容 |
| result | 処理結果。0=失敗/エラー。1=成功 |
| list(配列) | valid | valid=TrueならユーザーはActive |
| user | ユーザーID |
- /api/latest [GET]
- 最新の位置情報を取得します
| リクエストパラメータ |
| パラメータ名 | 内容 |
| user | 位置を取得したいユーザーのリスト。'all'を指定するとすべてのアクティブユーザー(必須) |
| レスポンス |
| Content Type | text/javascript; charset=utf-8 (JSON形式) |
| first tag | second tag | 内容 |
| result | 処理結果。0=失敗/エラー。1=成功 |
| points(配列) | valid | valid=TrueならユーザーはActive |
| user | ユーザーID |
| nickname | ニックネーム(valid=Trueのときのみ) |
| lat | 緯度(valid=Trueのときのみ) |
| lon | 経度(valid=Trueのときのみ) |
| dir | 方位(valid=Trueのときのみ。空のこともある) |
| altitude | 高度(m) (valid=Trueのときのみ。空のこともある) |
| velocity | 速度(km/h) (ユーザーが速度公開を許可しているときかつvalid=Trueのときのみ。空のこともある) |
| type | アイコン種別(valid=Trueのときのみ。空のこともある) |
ustream_status | 生放送の情報。現在返す可能性がある値としては以下のとおり
'offline'(放送していない), 'live'(Ustream.tv), 'justin.tv'(Justin.tv), 'nicolive:生放送ID'(ニコニコ生放送) |
- /api/getaddress [GET,要認証]
- 逆ジオコード(座標から住所への変換)を行います。
| リクエストパラメータ |
| パラメータ名 | 内容 |
| lat | 緯度(必須) |
| lon | 経度(必須) |
| レスポンス |
| Content Type | text/plain; charset=utf-8 |
| Response Body | 逆ジオコードで得られた住所 |
ユーザーデータ関係
- /user/update_userinfo [POST,要HTTPS,要認証]
- ユーザー情報(ニックネーム、UstreamID)を更新します
| リクエストパラメータ |
| ContentType | application/x-www-form-urlencoded |
| パラメータ名 | 内容 |
| nickname | ニックネーム |
| ust | Ustream ID |
| jtv | Justin.tv チャンネルID |
nicolive | ニコニコ動画ユーザーID(コミュニティIDではありません) |
| show | 全体地図で公開するなら1、非公開にしたいなら0。(APIでは常に公開です) |
| web | ホームページ |
| description | プロフィールの自己紹介欄 |
| popup | 地図上でマーカーをクリックしたとき、情報ウィンドウに表示する内容。
以下のテンプレートコマンドが使用可能です。
%user%: アカウント名
%plottime%: 表示時刻
%latitude%: 緯度
%longitude%: 経度
%direction%: 方位(北を0として時計回りに360度)
%altitude%: 高度(m)
%velocity%: 速度(km/h)
\n: 改行(<br>タグ)
%hr%: <hr>タグ
%profile%: ユーザープロフィールへのリンク
%userweb%: ユーザーのHomePage
%twitter%: Twitterアカウントへのリンク
%ustream%: USTREAM配信ページへのリンク
%justin%: Justin.tv配信ページへのリンク
%nicolive%: 自分が放送中のニコニコ生放送の番組へのリンク
|
| speed | 位置情報とともに速度情報を公開してもよいか。
公開するなら1、非公開にしたいなら0。(デフォルトは0です) |
| twitter | twitterのID。プロフィールページに表示されます。 |
| レスポンス |
| Content Type | text/javascript; charset=utf-8 (JSON形式) |
| first tag | 内容 |
| result | 処理結果。0=失敗/エラー。1=成功 |
- /user/delete_data [GET,要HTTPS,要認証]
- 指定した過去データを削除します
| リクエストパラメータ |
| パラメータ名 | 内容 |
| id | 削除したいデータのID |
| レスポンス |
| Content Type | text/javascript; charset=utf-8 (JSON形式) |
| first tag | 内容 |
| result | 処理結果。0=失敗/エラー。1=成功 |
- /user/set_public [GET,要HTTPS,要認証]
- 指定した過去データの公開・非公開を設定します
| リクエストパラメータ |
| パラメータ名 | 内容 |
| id | データのID |
| flag | 公開なら1、非公開なら0 |
| レスポンス |
| Content Type | text/javascript; charset=utf-8 (JSON形式) |
| first tag | 内容 |
| result | 処理結果。0=失敗/エラー。1=成功 |
- /api/getuserinfo [GET]
- 指定したユーザーの情報を取得します
| リクエストパラメータ |
| パラメータ名 | 内容 |
| user | 情報の欲しいユーザーのID |
| レスポンス |
| Content Type | text/javascript; charset=utf-8 (JSON形式) |
| first tag | 内容 |
| result | 処理結果。0=失敗/エラー。1=成功 |
| name | ユーザーのニックネーム。ニックネームが設定されていないときはユーザーID |
| ust | ユーザーのustream チャンネル名(www.ustream.tv/channel/<ust>) (ユーザーが指定していない場合空) |
| channel_id | ユーザーのustream channel id(channelId=<channel_id>) (ユーザーが指定していない場合空) |
| chat_channel | ユーザーのustream chatのルーム名(channel=#<chat_channel>) (ユーザーが指定していない場合空) |
| jtv | ユーザーのJustin.tvチャンネル名(www.justin.tv/<ust>) (ユーザーが指定していない場合空) |
| url | ユーザーのホームページ |
| twitter | ユーザーのtwitter ID |
| description | 自己紹介 |
| popup | 地図上でマーカーをクリックしたとき、情報ウィンドウに表示する内容 |
グループ関係
- /api/getgroupinfo [GET]
- グループ情報(グループ名、説明、ユーザーリスト)を取得します
| リクエストパラメータ |
| パラメータ名 | 内容 |
| group | グループID |
| レスポンス |
| Content Type | text/javascript; charset=utf-8 (JSON形式) |
| first tag | 内容 |
| result | 処理結果。0=失敗/エラー。1=成功 |
| groupname | グループのID |
| users | グループに所属するユーザーIDのリスト。カンマ区切り |
| description | グループの説明 |
- /user/creategroup [POST,要HTTPS,要認証]
- グループを作成します
| リクエストパラメータ |
| ContentType | application/x-www-form-urlencoded |
| パラメータ名 | 内容 |
| group | グループID |
| desc | グループの説明 |
| レスポンス |
| Content Type | text/javascript; charset=utf-8 (JSON形式) |
| first tag | 内容 |
| result | 処理結果。0=失敗/エラー。1=成功 |
| errmsg | result=0のときエラーの原因 |
- /user/updategroup [POST,要HTTPS,要認証]
- グループ情報を更新します
| リクエストパラメータ |
| ContentType | application/x-www-form-urlencoded |
| パラメータ名 | 内容 |
| group | グループID |
| desc | グループの説明 |
| users | グループに所属するユーザーIDのリスト。カンマ区切り |
| レスポンス |
| Content Type | text/javascript; charset=utf-8 (JSON形式) |
| first tag | 内容 |
| result | 処理結果。0=失敗/エラー。1=成功 |
| errmsg | result=0のときエラーの原因 |
- /user/deletegroup [GET,要HTTPS,要認証]
- グループ情報を削除します
| リクエストパラメータ |
| パラメータ名 | 内容 |
| group | グループID |
| レスポンス |
| Content Type | text/javascript; charset=utf-8 (JSON形式) |
| first tag | 内容 |
| result | 処理結果。0=失敗/エラー。1=成功 |
| errmsg | result=0のときエラーの原因 |
- /user/addmarker [POST,要HTTPS,要認証]
- グループ共有マーカーを追加します
| リクエストパラメータ |
| ContentType | application/x-www-form-urlencoded |
| パラメータ名 | 内容 |
| group | グループID |
| desc | 説明 |
| lat | マーカーの緯度 |
| lon | マーカーの経度 |
| レスポンス |
| Content Type | text/javascript; charset=utf-8 (JSON形式) |
| first tag | 内容 |
| result | 処理結果。0=失敗/エラー。1=成功 |
| key | result=1のときマーカーを識別するkey |
| errmsg | result=0のときエラーの原因 |
- /user/deletemarker [GET,要HTTPS,要認証]
- グループ共有マーカーを削除します
| リクエストパラメータ |
| パラメータ名 | 内容 |
| group | グループID |
| key | マーカー識別子 |
| レスポンス |
| Content Type | text/javascript; charset=utf-8 (JSON形式) |
| first tag | 内容 |
| result | 処理結果。0=失敗/エラー。1=成功 |
| errmsg | result=0のときエラーの原因 |