現在本サービスはβ公開中ですので、頻繁に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'
ustUstreamの映像とチャット欄を出したいユーザーのID。ユーザーがUstreamのIDを設定していないときはエラーになります 
plotmode軌跡の描き方。0=軌跡なし、1=点(最新1000個まで)デフォルトは1です
hide_userlist1を指定するとユーザー一覧と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 Typetext/xml; charset=utf-8
Response BodyGPXフォーマットのログデータ

API一覧

位置データ関係

/api/post [POST,要認証]
座標データを登録します
リクエストパラメータ
ContentTypeapplication/x-www-form-urlencoded
パラメータ名内容
time時刻。YYYY-MM-DD'T'hh:mm:ss.sssZZZZZ形式(必須)
lat緯度(°)。10進形式(必須)
lon経度(°)。10進形式(必須)
gpsqfix情報(省略可)
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 Typetext/plain; charset=utf-8
Response Body成功の場合'OK'、失敗/エラーの場合'NG'
/api/user_list [GET]
現在のユーザー一覧を取得します
リクエストパラメータ
なし
レスポンス
Content Typetext/javascript; charset=utf-8 (JSON形式)
first tagsecond tag内容
result処理結果。0=失敗/エラー。1=成功
list(配列)validvalid=TrueならユーザーはActive
userユーザーID
/api/latest [GET]
最新の位置情報を取得します
リクエストパラメータ
パラメータ名内容
user位置を取得したいユーザーのリスト。'all'を指定するとすべてのアクティブユーザー(必須)
レスポンス
Content Typetext/javascript; charset=utf-8 (JSON形式)
first tagsecond tag内容
result処理結果。0=失敗/エラー。1=成功
points(配列)validvalid=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 Typetext/plain; charset=utf-8
Response Body逆ジオコードで得られた住所

ユーザーデータ関係

/user/update_userinfo [POST,要HTTPS,要認証]
ユーザー情報(ニックネーム、UstreamID)を更新します
リクエストパラメータ
ContentTypeapplication/x-www-form-urlencoded
パラメータ名内容
nicknameニックネーム
ustUstream ID
jtvJustin.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です)
twittertwitterのID。プロフィールページに表示されます。
レスポンス
Content Typetext/javascript; charset=utf-8 (JSON形式)
first tag内容
result処理結果。0=失敗/エラー。1=成功
/user/delete_data [GET,要HTTPS,要認証]
指定した過去データを削除します
リクエストパラメータ
パラメータ名内容
id削除したいデータのID
レスポンス
Content Typetext/javascript; charset=utf-8 (JSON形式)
first tag内容
result処理結果。0=失敗/エラー。1=成功
/user/set_public [GET,要HTTPS,要認証]
指定した過去データの公開・非公開を設定します
リクエストパラメータ
パラメータ名内容
idデータのID
flag公開なら1、非公開なら0
レスポンス
Content Typetext/javascript; charset=utf-8 (JSON形式)
first tag内容
result処理結果。0=失敗/エラー。1=成功
/api/getuserinfo [GET]
指定したユーザーの情報を取得します
リクエストパラメータ
パラメータ名内容
user情報の欲しいユーザーのID
レスポンス
Content Typetext/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 Typetext/javascript; charset=utf-8 (JSON形式)
first tag内容
result処理結果。0=失敗/エラー。1=成功
groupnameグループのID
usersグループに所属するユーザーIDのリスト。カンマ区切り
descriptionグループの説明
/user/creategroup [POST,要HTTPS,要認証]
グループを作成します
リクエストパラメータ
ContentTypeapplication/x-www-form-urlencoded
パラメータ名内容
groupグループID
descグループの説明
レスポンス
Content Typetext/javascript; charset=utf-8 (JSON形式)
first tag内容
result処理結果。0=失敗/エラー。1=成功
errmsgresult=0のときエラーの原因
/user/updategroup [POST,要HTTPS,要認証]
グループ情報を更新します
リクエストパラメータ
ContentTypeapplication/x-www-form-urlencoded
パラメータ名内容
groupグループID
descグループの説明
usersグループに所属するユーザーIDのリスト。カンマ区切り
レスポンス
Content Typetext/javascript; charset=utf-8 (JSON形式)
first tag内容
result処理結果。0=失敗/エラー。1=成功
errmsgresult=0のときエラーの原因
/user/deletegroup [GET,要HTTPS,要認証]
グループ情報を削除します
リクエストパラメータ
パラメータ名内容
groupグループID
レスポンス
Content Typetext/javascript; charset=utf-8 (JSON形式)
first tag内容
result処理結果。0=失敗/エラー。1=成功
errmsgresult=0のときエラーの原因
/user/addmarker [POST,要HTTPS,要認証]
グループ共有マーカーを追加します
リクエストパラメータ
ContentTypeapplication/x-www-form-urlencoded
パラメータ名内容
groupグループID
desc説明
latマーカーの緯度
lonマーカーの経度
レスポンス
Content Typetext/javascript; charset=utf-8 (JSON形式)
first tag内容
result処理結果。0=失敗/エラー。1=成功
keyresult=1のときマーカーを識別するkey
errmsgresult=0のときエラーの原因
/user/deletemarker [GET,要HTTPS,要認証]
グループ共有マーカーを削除します
リクエストパラメータ
パラメータ名内容
groupグループID
keyマーカー識別子
レスポンス
Content Typetext/javascript; charset=utf-8 (JSON形式)
first tag内容
result処理結果。0=失敗/エラー。1=成功
errmsgresult=0のときエラーの原因