乗り換え情報検索開発テスト
検索結果をjsonpで受け取り表示するための工夫
クライアントの要請によりjson形式で送るサーバスクリプト
richardの"~toyoki/public_html/xoops_hd/modules/BusMap2/jsonp/"においてある。このディレクトリを、各自のxoopsのBusMap2ディレクトリの下にコピーする。
- transferInfoJSON.php
- BusMap2/routeSearchPlatformsXml.phpのjson版。
出発・到着バス停IDと時刻を与えてデータをjson形式で返す。
(検索関数はBusMap2/class/class.routeSearchByTime.phpのを用いてある点は同じ。返す文字列をjson形式にした点だけが異なる。)
- BusCategorizedRouteJSON.php
- バス路線の一覧 BusMap2/BusCategorizedRouteXml.phpのjson版
以下、詳しくは、横山くん用ページを参照
受け取ったJSONデータをブラウザで確かめるには、横山くん用ページに書いた「JSONデータのチェック、表示ツール」を使うと便利。(サーバでのエラーがないかどうかや引数がちゃんと与えら得てるかどうかは、/var/log/apache2/access.logやerror.logなどで確かめる。)
従来のパソコン用バスマップページでの乗り換え検索メニュー及び表示は、BusMap2/default.jsに関数として記述されており、探すのが面倒なので、次のjsonpクライアントで送受信するのをすすめる。
jsonpクライアント
サンプルを、"~toyoki/public_html/local_test/shimada/"においた。
- jQueryとjQueryのUIライブラリを利用しているので、このディレクトリ全部をコピーして自分のpublic_htmlの下に置く(どこでもよい。)
- transferSrch.phpが乗り換え検索リクエスト、表示用スクリプト。
- このスクリプトの上の方にあるjsonpサーバURLを上記サーバスクリプトのURLに書き換える。
パラメータの追加
- 新しい送信パラメータは、transferSch.phpの55行〜59行目あたりにある変数reqStrに追加する。(GET型引数で。)
- 上記に生に書いても良いが、htmlのbodyタグの中に作成し、それを上記行あたりでゲットして追加する方が格好がよい。(詳細は直接話したほうが早いと思う。)
- サーバプログラムtransferInfoJSON.phpでそれを受け取って、処理を切り替えればよい。