Language
Login
Language Setting
X
English
日本語 [Japanese]
about this App
よかバス時刻表App 0.5
useful
1
Loading...
//グローバル変数 var map; var arrDay = new Array( 7,1,2,3,4,5,6 ); //読み込むファイル名 var BSLfile = "Kushima_Community_Bus_BusStopList"; var BRLfile = "Kushima_Community_Bus_RouteList"; //よくつかう連想配列のkey var LabelKey = "http://www.w3.org/2000/01/rdf-schema#label"; var DescriptionKey = "http://purl.org/dc/elements/1.1/description"; var FeeKey = "http://linkdata.org/property/rdf1s1008i#fee"; var TimetableKey = "http://linkdata.org/property/rdf1s1008i#TimetableRef"; var ServiceDayKey = "http://linkdata.org/property/rdf1s1008i#day_8601"; var LatitudeKey = "http://www.w3.org/2003/01/geo/wgs84_pos#lat"; var LongitudeKey = "http://www.w3.org/2003/01/geo/wgs84_pos#long"; $(document).ready(function(){ //今日の日付 var nowdate = new Date(); $("#today").text( nowdate.toLocaleString() ); //Datepicker $( "#datepicker" ).datepicker(); $( "#datepicker" ).datepicker( "option", "dateFormat", "yy/m/d" ); $( "#datepicker" ).datepicker( "setDate", nowdate ); var defaultDate = $( "#datepicker" ).datepicker( "getDate" ); $( "#datepicker" ).val( toLocaleString(defaultDate)); $( "#datepicker" ).change(function() { createActiveRouteTable(); }); //Google Map map = new GMaps({ div: '#map', zoom: 14, lat: 31.4646457, lng:131.218161 }); createActiveRouteTable(); }); //運行中の路線を描画 function createActiveRouteTable(){ //今日の日付 var nowdate = $( "#datepicker" ).datepicker( "getDate" ); var whatday = arrDay[nowdate.getDay()]; //呼び出すオープンデータが保存されているプロジェクトのID var workValue = "rdf1s1008i"; //バス停情報を呼び出すためのKeyを配列に保存 var BusStopKeyList = LinkData.getSubjects(workValue, BSLfile ); //取得できたか確認するために、配列の長さを吐き出させるテスト $("#test").append( BusStopKeyList.length + "戸 " ); //テーブルから行を消す $("#result_tbody").empty(); //マップをリセット map.removePolylines(); map.removeMarkers(); //路線情報を呼び出すためのKeyを配列に保存 var RouteList = LinkData.getSubjects(workValue, BRLfile ); var ActiveTimetableList=[];var ActiveRouteColor=[]; //路線情報を総当たり攻撃 $.each( RouteList , function(i){ //運行する曜日を取得 var check = LinkData.getObjects(workValue, BRLfile, RouteList[i], ServiceDayKey )[0]; if( check.indexOf( whatday ) >= 0 ){ //運行してない路線はここで除外 var Name = LinkData.getObjects(workValue, BRLfile, RouteList[i], LabelKey )[1]; var NameEN = LinkData.getObjects(workValue, BRLfile, RouteList[i], LabelKey )[2] var Bound = LinkData.getObjects(workValue, BRLfile, RouteList[i], DescriptionKey )[0]; var Fee = LinkData.getObjects(workValue, BRLfile, RouteList[i], FeeKey )[0]; var Timetable = LinkData.getObjects(workValue, BRLfile, RouteList[i], TimetableKey )[0]; var TimetableFile = LinkData.getObjects(workValue, BRLfile, RouteList[i], "http://linkdata.org/property/rdf1s1008i#TimetableFileRef" )[0]; var ThemeColor = LinkData.getObjects(workValue, BRLfile, RouteList[i], "http://linkdata.org/property/rdf1s1008i#ThemeColor")[0]; //運行している路線だけをテーブルに挿入 $("#result_tbody").append( '<tr style="border-left:15px solid '+ThemeColor+'"><td><ruby>'+ Name +'<rt>'+ NameEN+'</rt></ruby></td><td>'+ Bound +'</td><td>'+ Fee +'</td></tr>' ); ActiveTimetableList.push( [TimetableFile, Timetable] ); ActiveRouteColor.push( ThemeColor ); } //↑ここまで }); //運行している路線が通過するバス停を地図に表示(コードテスト) $.each(ActiveTimetableList, function(k){ var TimeTableFile = ActiveTimetableList[k][0]; var TimeTableID = ActiveTimetableList[k][1]; //初期化 var pathpoints =[]; var ActiveBusStopIDs=[]; var ActiveBusStopKey = LinkData.getSubjects(TimeTableFile, TimeTableID ); //バス停IDを抽出して配列に保存 $.each( ActiveBusStopKey , function(i){ //バス停IDを取得してpush ActiveBusStopIDs.push( LinkData.getObjects(TimeTableFile, TimeTableID, ActiveBusStopKey[i], "http://linkdata.org/property/"+TimeTableFile+"#refID" )[0] ); }); //重複を削除 ActiveBusStopIDs = unique(ActiveBusStopIDs); //マーカーを配置する $.each( ActiveBusStopIDs , function(i){ //バス停IDを取得 var ActiveBusStopID = ActiveBusStopIDs[i]; //バス停IDと対応する情報を取得 var Lat = LinkData.getObjects(workValue, BSLfile, "http://linkdata.org/resource/rdf1s1008i#"+ ActiveBusStopID, LatitudeKey )[0]; var Long = LinkData.getObjects(workValue, BSLfile, "http://linkdata.org/resource/rdf1s1008i#"+ ActiveBusStopID, LongitudeKey )[0]; var Title = LinkData.getObjects(workValue, BSLfile, "http://linkdata.org/resource/rdf1s1008i#"+ ActiveBusStopID, LabelKey )[1]; //Polyline用 pathpoints.push( [Lat,Long]); //地図に追加 map.addMarker({ lat: Lat, lng: Long, title: Title, infoWindow: { content: '<p>'+Title+'</p>' },/*HTML*/ icon: "https://chart.googleapis.com/chart?chst=d_simple_text_icon_left&chld=|30|000|bus|16|FFF|333" }); }); map.drawPolyline({ path: pathpoints, strokeColor: ActiveRouteColor[k], strokeOpacity: 0.6, strokeWeight: 6, }); }); } //重複を取り除く関数 function unique(array) { var storage = {}; var uniqueArray = []; var i,value; for ( i=0; i<array.length; i++) { value = array[i]; if (!(value in storage)) { storage[value] = true; uniqueArray.push(value); } } return uniqueArray; } //連想配列の要素数を返す function hashLength(array){ var len = 0; for(var key in array) { len++; } return len; } // 出力例:2008/5/1 2:00:00 function toLocaleString( date ) { return [ date.getFullYear(), date.getMonth() + 1, date.getDate() ].join( '/' ) + ' ' + date.toLocaleTimeString(); }
html { height: 100% } body { height: 100%; margin: 0px; padding: 0px } #map { height: 100% }
<div class="container"> <h1>よかバス時刻表</h1> <h2>路線</h2> <p>今日は<time id="today"></time>です。</p> <p>日付: <input type="text" id="datepicker" size="30" /> 運行予定の路線は次の路線です</p> <div class="table-responsive"> <table class="table table-bordered"> <thead> <tr> <th>路線</th> <th>方面</th> <th>料金</th> </tr> </thead> <tbody id="result_tbody"> </tbody> </table> </div> <p class="text-danger">※都井岬線以外は年末年始の期間(12/29~1/3)は運休です。</p> <p class="text-info">※天候や交通事情により多少運行に遅れが生じることがあります。 予めご了承ください。</p> <p>正確な運行情報は<a href="http://www.city.kushima.miyazaki.jp/modules/contents01/index.php?content_id=22">公式サイト</a>を参照してください。</p> <h2>バス停</h2> <div id="map"></div> <p id="test"></p> </div>
Preview
Input Data
ReadMe
Snapshots
LinkData Work
Table Data
よかバス(福島方面)
Contributor:talbot5300
Update:Dec 1, 2013
822 Downloads, 2 Applications
BR495_Inbound_Weekday
BR495_Outbound_Weekday
BR501_North_Weekday
BR501_South_Weekday
よかバス(北方・大束方面)
Contributor:talbot5300
Update:Dec 1, 2013
1590 Downloads, 2 Applications
BR499_Inbound_Tuesday
BR499_Outbound_Tuesday
BR512_Inbound_Monday
BR512_Outbound_Monday
BR514_Inbound_Weekday
BR514_Outbound_Weekday
よかバス(都井方面)
Contributor:talbot5300
Update:Nov 24, 2013
1407 Downloads, 2 Applications
都井方面へのバス路線を上り下りと別けて、発車時刻をまとめたものです。 バス停の位置は、「http://linkdata.org/work/rdf1s1008i」を参照してください。
BR498_Inbound_Tuesday
BR498_Outbound_Tuesday
BR515_Inbound_Weekday
BR515_Inbound_Weekend
BR515_Outbound_Weekday
BR515_Outbound_Weekend
BR524_Inbound_Thursday
BR524_Outbound_Thursday
よかバス(本城方面)
Contributor:talbot5300
Update:Dec 1, 2013
505 Downloads, 2 Applications
BR488_Inbound_Weekday
BR488_Outbound_Weekday
よかバス路線リストおよび停留所位置
Contributor:talbot5300
Update:Dec 1, 2013
542 Downloads, 2 Applications
串間市コミュニティバスの路線リストです。 運行日はISO8601の曜日表現(月曜=1~日曜=7)を区切り文字「<>」と組み合わせて表現しています。
Kushima_Community_Bus_BusStopList
Kushima_Community_Bus_RouteList
Add LinkData work(LinkData)
Link http://app.linkdata.org/run/app1s502i?tab=readme
実装済みの機能
当日運行する路線を抽出表示
バス停位置をGoogleMapに表示
サンプル程度に
jquery-1.7.1.min.js
http://maps.google.com/maps/api/js?v=3&sensor=false
gmaps.js
jquery-ui-1.8.18.min.js
Work
Add
Clear
insert work id or work name.