2.0には、特殊な運賃計算方法に対応するための機能がいくつか実装されています。島線の相模大野分岐点)。この状況に対応するため、分岐点を設けることが出来ます。分岐点は、通常の駅と同様の方法で設置します。駅名、ローマ字表記、駅ナンバリングのそれぞれの先頭を"BRH_"で始めると分岐点になります。複数の路線が並走している場合などで、その駅を通るが乗降は出来ないような駅を設置したい場合(例:阪急京都線中津駅)に、駅を乗降禁止に設定することが出来ます。駅を乗降禁止にするには、以下のいずれかの構文を路線インスタンス登録の直前の行に挿入します。【直接駅番号を指定する方法】[variableName1].banUse.push(_staIdx);【駅名で指定する方法】[variableName1].banUse.push(stationList.searchFromName(_staName));【ローマ字表記で指定する方法】[variableName1].banUse.push(stationList.searchFromRoman(_roman));【駅番号で指定する方法】[variableName1].banUse.push(stationList.searchFromNumberling(_numberling));[variableName1]には、その駅で乗降禁止となる路線インスタンスの変数名を入力します。複数の路線が並走している場合などで、ある特定の路線から別の路線への乗換を禁止したい場合に指定します。指定は路線単位になります。乗換は可能になります。X駅において、路線Aから路線Bへの乗換を禁止したい場合は、以下のいずれかの構文を路線Aの路線インスタンス登録の直前の行に挿入します。)のようなパターンを設定することが出来ます。X駅、Y駅、Z駅の3駅で相互に徒歩連絡による乗換が可能な場合はデータファイルの末尾に次のような行を挿入します。徒歩連絡駅の数には特に制限はありません。各駅の番号をカンマで区切って羅列して指定します。※駅番号以外で指定する場合はstationList.searchFromName()、stataionList.searchFromRoman()、stationList.searchFromNumberling()を使用してください。設定するときは、どの駅からどの駅までどのような経路で移動する場合に適用されるかを指定します。京急電鉄で品川駅(駅番号1)→京急本線(路線番号0)→横浜駅(駅番号25)と移動する際に特定運賃298円(ICカード)、300円(きっぷ)が適用されるときは、データファイルの末尾に次の行を挿入します。Array(1,0,25)));記述例において、赤字で示した部分が乗車経路を表しており、駅番号と路線番号を交互にカンマで区切って入力した書式になっています。この経路を逆に辿った横浜から品川までの経路にも自動的に特定運賃が適用されますので、逆パターンを指定しておく必要はありません。2.0の共通のシステムですべてを網羅することは困難です。そのため、こうした機能は未実装になっています。これらの例外的な運賃計算を行いたい場合は、ユーザー指定スクリプトの記述が必要です。"datas"ディレクトリに入っているサンプルファイル(keikyu_kasan.js、keio_kasan.js、tokyu_kodomo.js)がその記述例です。ユーザー指定スクリプトは、データファイルと同様"datas"ディレクトリに保存します。ファイル名は自由ですが、データファイルの冒頭に下記の行を挿入してユーザー指定スクリプトを使用することを宣言しておく必要があります。"ユーザー指定スクリプトのファイル名";ユーザー指定スクリプトの処理内容は、FoundRouteクラスのscFare()メソッドをオーバーライドする形で記述します。以下のソースコードをコピーしてエディタに貼り付けてください。{/*ここに処理内容を記述します。*/}編集するのは、"{"〜"}"の内部(コメントが入っている部分)です。この外側には何も記述しないようにして下さい。ユーザー指定スクリプトが呼び出されるタイミングユーザー指定スクリプトにより記述されるscFare()メソッドは、経路と運賃の検索がすべて終了したタイミングで呼び出されます。記述していただくscFare()メソッドの処理内容は、経路情報から運賃計算の例外が適用される条件に当てはまっているかを判断し、運賃を修正するというものです。FoundRouteクラスのプロパティFoundRouteクラスは、検索された複数の経路のうちの1つの経路に関する各種の情報を格納しています。このクラスのプロパティの値を読み書きすることで各種の例外的な運賃計算に対応するスクリプトを作ることが出来ます(値を書き換えた場合、その結果が検索結果に反映されます)。運賃格納クラス(CalcFares)のオブジェクトroute、lineAndStaにはいずれも乗換駅と乗車路線の情報が配列として格納されています。routeには駅番号や路線番号が、lineAndStaには駅名や路線名が格納されている点で違いがあります。要素データroute[0]0route[1]0route[2]6route[3]4route[4]64route[5]5route[6]71要素データlineAndSta[0]渋谷lineAndSta[1]東横線lineAndSta[2]自由が丘lineAndSta[3]大井町線lineAndSta[4]旗の台lineAndSta[5]池上線lineAndSta[6]五反田aprBranchプロパティは、分岐点が存在するような鉄道において使用されるプロパティで、trueまたはfalseの値をとります。適切な経路では値がtrueになります。この値がfalseである場合は不適切な経路と見なされ、検索結果には表示されません。通常はあまり気にする必要のないプロパティです。fareプロパティは、ICカード運賃やきっぷ運賃、運賃計算キロを保持するプロパティで、各データは後述のCalcFaresクラスのインスタンスとして保持されます。CalcFaresクラスのプロパティCalcFaresクラスが持つプロパティと、その格納している情報は下表の通りです。各プロパティの値を書き換えると、その結果が検索結果に反映されます。普通乗車券運賃killoは、運賃計算キロを配列として格納するプロパティです。killo[0]には全経路の合計キロが格納されます。その運賃規定で計算されるキロ数が格納されます。ICFareは、ICカード運賃を配列として格納するプロパティです。ICFare[0]には全経路の合計運賃が格納されます。その運賃規定で計算される運賃が格納されます。TicketFareは、ICカード運賃を配列として格納するプロパティです。TicketFare[0]には全経路の合計運賃が格納されます。2.0のシステムは、最新版のFirefox、Opera、IEで動作確認を行っています。