摘要:完成這個應(yīng)用的主要步驟申請百度地圖訪問權(quán)限添加校園巴士車站繪制校園巴士路徑彈出校園巴士時刻表申請百度地圖訪問權(quán)限百度地圖免費對外開放。
本文最初發(fā)布于我的個人博客:Jerry的樂園
交大的校園巴士時刻表都只能在車站的站牌上查看。這對于需要出行的學(xué)生來說非常不方便,無法合理做好出行的安排。為了解決這個問題,我和同一個套件的兩位同學(xué)一起完成了這個簡單的app。這篇博客將簡要介紹這個web應(yīng)用是如何實現(xiàn)的。以下是效果圖,實際的效果請到http://zry656565.github.io/SJTU-Bus查看。
完成這個應(yīng)用的主要步驟:
申請百度地圖API訪問權(quán)限
添加校園巴士車站
繪制校園巴士路徑
彈出校園巴士時刻表
申請百度地圖API訪問權(quán)限百度地圖JavaScript API免費對外開放。自v1.5版本起,您需先申請密鑰(ak)才可使用,接口(除發(fā)送短信功能外)無使用次數(shù)限制。
因此我們需要先申請密鑰,過程非常簡單,幾步就完成,在此就不多贅述了。申請完畢你就得到了屬于自己的ak,接下來就可以建立如下的hello world網(wǎng)頁了哦!別忘了把ak=您的密鑰這部分改稱你申請好的密鑰。
添加校園巴士車站地圖展示
首先本應(yīng)用所有的數(shù)據(jù)都存儲在一個data.json文件中,其中校園巴士車站存儲的數(shù)據(jù)結(jié)構(gòu)如下。數(shù)組中每一個子數(shù)組代表一個車站,子數(shù)組的三個元素分別代表站點名和經(jīng)緯度。
{ "stopList":[ ["東川路地鐵站", 121.426814, 31.023853], ["菁菁堂", 121.436534, 31.02475], ["校醫(yī)院", 121.439911, 31.025764], ["東上院", 121.445463, 31.028007], ["東中院", 121.444457, 31.030127], ["新圖書館", 121.443954, 31.03155], ["行政B樓", 121.447601, 31.032742], ["電信學(xué)院", 121.448751, 31.03155], ["凱旋門", 121.452308, 31.029431] ] }
在設(shè)計好了上面的數(shù)據(jù)結(jié)構(gòu)后,添加車站就非常容易了:
for (var i = 0; i < stopList.length; i++) { var point = new BMap.Point(stopList[i][1], stopList[i][2]); var marker = new BMap.Marker(point); var label = new BMap.Label(stopList[i][0],{offset:new BMap.Size(20,-10)}); marker.setLabel(label); map.addOverlay(marker); }繪制校園巴士路徑
校園巴士行車路徑存儲的數(shù)據(jù)結(jié)構(gòu)如下,就是由一堆點的經(jīng)緯度構(gòu)成的。
{ "lineList": [ [121.436534, 31.02475], [121.439911, 31.025764], [121.445535, 31.027412], [121.445301, 31.027984], [121.444331, 31.030104], [121.443774, 31.031605], [121.448373, 31.033121], [121.448319, 31.032285] ] }
在設(shè)計好了上面的數(shù)據(jù)結(jié)構(gòu)后,依樣畫葫蘆,我們就能得到想要的路徑了:
//繪制路線 var pointArr = []; for (var i = 0; i < lineList.length; i++) { pointArr.push(new BMap.Point(lineList[i][0], lineList[i][1])); } var polyline = new BMap.Polyline(pointArr, {strokeColor:"blue", strokeWeight:5, strokeOpacity:0.5}); map.addOverlay(polyline);彈出校園巴士時刻表
校園巴士行車時刻表存儲的數(shù)據(jù)結(jié)構(gòu)如下,就是由一堆點的經(jīng)緯度構(gòu)成的。
{ "stopTime":{ "東川路地鐵站": { "direct1": "07:24 07:39 07:54 08:09 17:03 17:28 17:58 18:43 19:28 20:28", "festival_direct1": "8:24 16:58 17:43 18:28", }, "菁菁堂": { "direct1": "07:30 07:45 08:00 08:15 08:25 08:40 09:00 09:20 09:40 10:00", "direct2": "08:30 08:50 09:10 09:30 10:00 10:30 11:00 11:30 12:30 13:30", "festival_direct1": "08:30 09:30 10:30 11:30", "festival_direct2": "09:00 10:00 11:00 12:00" }, "校醫(yī)院": { "direct1": "07:30 07:45 08:00 08:15 08:25 08:40 09:00 09:20 09:40 10:00", "direct2": "08:50 09:10 09:30 09:50 10:20 10:50 11:20 11:50 12:50 13:50", "festival_direct1": "08:30 09:30 10:30 11:30", "festival_direct2": "09:20 10:20 11:20 12:20" } } }
在設(shè)計好了上面的數(shù)據(jù)結(jié)構(gòu)后,對之前添加巴士站點的代碼稍加修改以下就搞定了,具體要添加的內(nèi)容還比較多,可以移步源碼查看。
還有哪些工作?東川路站的經(jīng)緯度需要修正
支持小屏手機的訪問
有興趣的同學(xué)可以fork我的項目
反饋與建議本應(yīng)用是由幾位交大的同學(xué)利用課余時間制作,有什么問題可以及時反饋給我們。
所有的反饋建議請在issue版提交
或者直接在本博客留言
參考資料關(guān)于調(diào)整校園巴士運行線路及運行時刻的通知
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/110914.html
摘要:完成這個應(yīng)用的主要步驟申請百度地圖訪問權(quán)限添加校園巴士車站繪制校園巴士路徑彈出校園巴士時刻表申請百度地圖訪問權(quán)限百度地圖免費對外開放。 本文最初發(fā)布于我的個人博客:Jerry的樂園 交大的校園巴士時刻表都只能在車站的站牌上查看。這對于需要出行的學(xué)生來說非常不方便,無法合理做好出行的安排。為了解決這個問題,我和同一個套件的兩位同學(xué)一起完成了這個簡單的app。這篇博客將簡要介紹這...
摘要:完成這個應(yīng)用的主要步驟申請百度地圖訪問權(quán)限添加校園巴士車站繪制校園巴士路徑彈出校園巴士時刻表申請百度地圖訪問權(quán)限百度地圖免費對外開放。 本文最初發(fā)布于我的個人博客:Jerry的樂園 交大的校園巴士時刻表都只能在車站的站牌上查看。這對于需要出行的學(xué)生來說非常不方便,無法合理做好出行的安排。為了解決這個問題,我和同一個套件的兩位同學(xué)一起完成了這個簡單的app。這篇博客將簡要介紹這...
摘要:一前言在使用百度地圖開發(fā)的過程中,查閱百度地圖官網(wǎng)基本上就能滿足開發(fā)的需求,但是有時候需要設(shè)置一些東西,很難在官網(wǎng)上查閱到相關(guān)的方法技巧。希望百度地圖能夠越來越強大,這樣開發(fā)者就可以愉快的開發(fā)了 一 前言 在使用百度地圖開發(fā)的過程中,查閱百度地圖官網(wǎng)demo基本上就能滿足開發(fā)的需求,但是有時候需要設(shè)置一些東西,很難在官網(wǎng)上查閱到相關(guān)的方法技巧。筆者特意把開發(fā)過程中遇到的一些疑難雜癥和解...
摘要:從年月日起新加坡將給予符合條件的中國公民有效期長達年的多次入境簽證。而與家人或小組團體同游新加坡的人,能夠以團體方式提交入境資料。工作或創(chuàng)業(yè)準(zhǔn)證家屬,可通過公司向人力部申請新加坡工作的憑證,批準(zhǔn)后,可直接工作不占用公司配額。 showImg(https://segmentfault.com/img/remote/1460000016386130?w=1999&h=1115); 前言 記...
摘要:百度地圖這么大的一個平臺,應(yīng)該會給開發(fā)者提供。上網(wǎng)搜索一番,在百度地圖開發(fā)實例番外篇實用方法持續(xù)更新中找到了解決方法,原來是需要針對進行單獨配置為百度地圖設(shè)置規(guī)則配置完成之后不報錯了,但是在瀏覽器中查看控制臺輸出,會發(fā)現(xiàn)依然報錯。 實現(xiàn)流程 按順序講一下自己的實現(xiàn)過程,中間踩了好幾個坑,感謝 Google,感謝 SegmentFault,讓我成功出坑。 百度地圖這么大的一個平臺,應(yīng)該...
閱讀 2578·2021-11-22 09:34
閱讀 944·2021-11-19 11:34
閱讀 2805·2021-10-14 09:42
閱讀 1482·2021-09-22 15:27
閱讀 2388·2021-09-07 09:59
閱讀 1737·2021-08-27 13:13
閱讀 3436·2019-08-30 11:21
閱讀 777·2019-08-29 18:35