以下で、ファイル名だけで、完全なURLを指定してないスクリプトは http://dev.busmaps.jp/yamanashi/modules/BusMap2/jsonp/ を頭につけることにより、アクセスできる。
http://dev.busmaps.jp/yamanashi/modules/BusMap2/jsonp/BusRouteRoadsJSON.php
GET型引数として、
?routes=一般路線ID|路線ID!一般路線ID2|路線ID
http://dev.busmaps.jp/yamanashi/modules/BusMap2/jsonp/BusRouteRoadsJSON.php?routes=19|17
routesは1つ以上。
地図上に路線道筋と停留所を描画するのに用いられる。
出力形式
[
{route_name:"路線名",
road: [
{start:"バス停", end="バス停",
marker: [
{lat:"緯度", lng:"経度"}
]
}
]
}
]
BusStopNameJSON.php?startname=武田&endname=病院
transferInfoJSON.php?startId=6&endId=28&stime=9:00
transferInfoJSON.php?startPlatId=32&endPlatId=62&stime=9:00
stimeは、出発時刻、etimeは到着時刻 (排他的にどちらかを使用)。なければstimeに現在の時刻を使用
出力形式:こちらのページ
http://dev.busmaps.jp/yamanashi/modules/BusMap2/jsonp/BusStopJSON.php
バス停名一覧を返してくれる。 (引数にcallback=?を入れれば,jsonp形式でのデータ受け渡しとなる.)
http://dev.busmaps.jp/yamanashi/modules/BusMap2/jsonp/stoptimeJSON.php?stopId=331
のように,stoptimeJSON.phpの引数として stopId=バス停ID (上記の例では331)をわたすと,そのバス停での発着時刻一覧が返される.
(引数にcallback=?を入れれば,jsonp形式でのデータ受け渡しとなる.)
busIdを指定して,経由停留所の順番と時刻を出力する.
http://dev.busmaps.jp/yamanashi/modules/BusMap2/jsonp/timetableByBusJSON.php?busId=4127
http://dev.busmaps.jp/yamanashi/modules/BusMap2/jsonp/BusPlatformsByRouteID.php?routeID=6
routeIDで路線IDを指定する。
形式:
[
{
"ID": "77",
"LAT": "35.692068819854",
"LNG": "138.562027215958",
"OrderNum": "1",
"stopName": "HANAZONOホスピタル",
"platformName": "",
"seq": 1
},
{ ...
}
]
- 総称IDを引数にする。
http://dev.busmaps.jp/yamanashi/modules/BusMap2/jsonp/startStopsByGID.php?genID=19
- 路線IDを引数にする。
http://dev.busmaps.jp/yamanashi/modules/BusMap2/jsonp/startStopsByRouteID.php?routeID=17
形式:
{
"17": {
"routeID": "17",
"OrderNum": "1",
"OrderNum2": "26",
"ConnectionID": "381",
"platformID": "266",
"LAT": "35.640925520002",
"LNG": "138.570604920387",
"stopID": "159",
"stopName": "塚原",
"platformName": "",
"EndOrderNum": "26",
"EndConnectionID": "406",
"EndPlatformID": "73",
"EndLAT": "35.691212706262",
"EndLNG": "138.571221828461",
"bus": [
{
"time": "06:40:00",
"BusID": "4837",
"ArrivalTime": "07:05:00"
},
{
"time": "07:06:00",
"BusID": "4838",
"ArrivalTime": "07:33:00"
},...
}
}
Web上を探すとJSONデータのチェックツールがいろいろみつかる。
chromeやfirefoxにはアドオンがあり、それを使うのも一手。 http://www.crossl.net/blog/json_check_webservice/ にメモがある。
参考: フリーで使えるライブラリ
昨年度学生用に書いたもの
jQueryにjsonデータを扱うのに便利な機能が用意されているので、それを使ってみる。
jQueryはJavaScriptのライブラリであり、利用するときにそれを読み込んで使用する。まず、最新版をゲットして、プログラムのディレクトリに置く。 jQueryのホームのDownloadからゲットできる。
利用するには、htmlファイルに
<script type="text/javascript" src="./js/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="./jquery-1.8.2.min.js"></script> <script type="text/javascript"> /* 準備ができたら自動的に実行させる */ $(document).ready(function() { /* $.から始まるのがjQuery関数 */ /* callback=? の ? に第2引数の関数名(プログラムの上では無名関数)が入る。*/ $.getJSON('http://tepco-usage-api.appspot.com/latest.json?callback=?',function(data){ var str; var ratio = data['usage']/data['capacity']*100; str = '東京電力全体の利用率(' + data['hour'] +'時台) : ' + ratio.toFixed(1) + "% (使用量 " + data['usage'] + "万KW, 供給可能量 " + data['capacity'] +"万KW)<br>"; $('#tepco').append(str); }); }); </script> <document> <div id='tepco' style='text-align: center'>取得したデータ: </div> </document>