成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用百度地圖API來完成交大校園巴士時(shí)刻表

ningwang / 1564人閱讀

摘要:完成這個(gè)應(yīng)用的主要步驟申請(qǐng)百度地圖訪問權(quán)限添加校園巴士車站繪制校園巴士路徑彈出校園巴士時(shí)刻表申請(qǐng)百度地圖訪問權(quán)限百度地圖免費(fèi)對(duì)外開放。

  

本文最初發(fā)布于我的個(gè)人博客:Jerry的樂園

交大的校園巴士時(shí)刻表都只能在車站的站牌上查看。這對(duì)于需要出行的學(xué)生來說非常不方便,無法合理做好出行的安排。為了解決這個(gè)問題,我和同一個(gè)套件的兩位同學(xué)一起完成了這個(gè)簡(jiǎn)單的app。這篇博客將簡(jiǎn)要介紹這個(gè)web應(yīng)用是如何實(shí)現(xiàn)的。以下是效果圖,實(shí)際的效果請(qǐng)到http://zry656565.github.io/SJTU-Bus查看。

完成這個(gè)應(yīng)用的主要步驟:

申請(qǐng)百度地圖API訪問權(quán)限

添加校園巴士車站

繪制校園巴士路徑

彈出校園巴士時(shí)刻表

申請(qǐng)百度地圖API訪問權(quán)限
  

百度地圖JavaScript API免費(fèi)對(duì)外開放。自v1.5版本起,您需先申請(qǐng)密鑰(ak)才可使用,接口(除發(fā)送短信功能外)無使用次數(shù)限制。

因此我們需要先申請(qǐng)密鑰,過程非常簡(jiǎn)單,幾步就完成,在此就不多贅述了。申請(qǐng)完畢你就得到了屬于自己的ak,接下來就可以建立如下的hello world網(wǎng)頁(yè)了哦!別忘了把ak=您的密鑰這部分改稱你申請(qǐng)好的密鑰。




    
    
    
    
    地圖展示


    
添加校園巴士車站

首先本應(yīng)用所有的數(shù)據(jù)都存儲(chǔ)在一個(gè)data.json文件中,其中校園巴士車站存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)如下。數(shù)組中每一個(gè)子數(shù)組代表一個(gè)車站,子數(shù)組的三個(gè)元素分別代表站點(diǎn)名和經(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è)計(jì)好了上面的數(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);
}
繪制校園巴士路徑

校園巴士行車路徑存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)如下,就是由一堆點(diǎn)的經(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è)計(jì)好了上面的數(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í)刻表

校園巴士行車時(shí)刻表存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)如下,就是由一堆點(diǎn)的經(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è)計(jì)好了上面的數(shù)據(jù)結(jié)構(gòu)后,對(duì)之前添加巴士站點(diǎn)的代碼稍加修改以下就搞定了,具體要添加的內(nèi)容還比較多,可以移步源碼查看。

還有哪些工作?

東川路站的經(jīng)緯度需要修正

支持小屏手機(jī)的訪問

有興趣的同學(xué)可以fork我的項(xiàng)目

反饋與建議

本應(yīng)用是由幾位交大的同學(xué)利用課余時(shí)間制作,有什么問題可以及時(shí)反饋給我們。

所有的反饋建議請(qǐng)?jiān)趇ssue版提交

或者直接在本博客留言

參考資料

關(guān)于調(diào)整校園巴士運(yùn)行線路及運(yùn)行時(shí)刻的通知

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/49525.html

相關(guān)文章

  • 使用百度地圖API完成交大校園巴士時(shí)刻表

    摘要:完成這個(gè)應(yīng)用的主要步驟申請(qǐng)百度地圖訪問權(quán)限添加校園巴士車站繪制校園巴士路徑彈出校園巴士時(shí)刻表申請(qǐng)百度地圖訪問權(quán)限百度地圖免費(fèi)對(duì)外開放。 本文最初發(fā)布于我的個(gè)人博客:Jerry的樂園 交大的校園巴士時(shí)刻表都只能在車站的站牌上查看。這對(duì)于需要出行的學(xué)生來說非常不方便,無法合理做好出行的安排。為了解決這個(gè)問題,我和同一個(gè)套件的兩位同學(xué)一起完成了這個(gè)簡(jiǎn)單的app。這篇博客將簡(jiǎn)要介紹這...

    bang590 評(píng)論0 收藏0
  • 使用百度地圖API完成交大校園巴士時(shí)刻表

    摘要:完成這個(gè)應(yīng)用的主要步驟申請(qǐng)百度地圖訪問權(quán)限添加校園巴士車站繪制校園巴士路徑彈出校園巴士時(shí)刻表申請(qǐng)百度地圖訪問權(quán)限百度地圖免費(fèi)對(duì)外開放。 本文最初發(fā)布于我的個(gè)人博客:Jerry的樂園 交大的校園巴士時(shí)刻表都只能在車站的站牌上查看。這對(duì)于需要出行的學(xué)生來說非常不方便,無法合理做好出行的安排。為了解決這個(gè)問題,我和同一個(gè)套件的兩位同學(xué)一起完成了這個(gè)簡(jiǎn)單的app。這篇博客將簡(jiǎn)要介紹這...

    AJie 評(píng)論0 收藏0
  • 百度地圖開發(fā)實(shí)例番外篇--實(shí)用方法(持續(xù)更新)

    摘要:一前言在使用百度地圖開發(fā)的過程中,查閱百度地圖官網(wǎng)基本上就能滿足開發(fā)的需求,但是有時(shí)候需要設(shè)置一些東西,很難在官網(wǎng)上查閱到相關(guān)的方法技巧。希望百度地圖能夠越來越強(qiáng)大,這樣開發(fā)者就可以愉快的開發(fā)了 一 前言 在使用百度地圖開發(fā)的過程中,查閱百度地圖官網(wǎng)demo基本上就能滿足開發(fā)的需求,但是有時(shí)候需要設(shè)置一些東西,很難在官網(wǎng)上查閱到相關(guān)的方法技巧。筆者特意把開發(fā)過程中遇到的一些疑難雜癥和解...

    CocoaChina 評(píng)論0 收藏0
  • 從國(guó)內(nèi)跳槽至新加坡工作的經(jīng)驗(yàn)分享

    摘要:從年月日起新加坡將給予符合條件的中國(guó)公民有效期長(zhǎng)達(dá)年的多次入境簽證。而與家人或小組團(tuán)體同游新加坡的人,能夠以團(tuán)體方式提交入境資料。工作或創(chuàng)業(yè)準(zhǔn)證家屬,可通過公司向人力部申請(qǐng)新加坡工作的憑證,批準(zhǔn)后,可直接工作不占用公司配額。 showImg(https://segmentfault.com/img/remote/1460000016386130?w=1999&h=1115); 前言 記...

    Chao 評(píng)論0 收藏0
  • Web端嵌入百度地圖實(shí)現(xiàn)流程

    摘要:百度地圖這么大的一個(gè)平臺(tái),應(yīng)該會(huì)給開發(fā)者提供。上網(wǎng)搜索一番,在百度地圖開發(fā)實(shí)例番外篇實(shí)用方法持續(xù)更新中找到了解決方法,原來是需要針對(duì)進(jìn)行單獨(dú)配置為百度地圖設(shè)置規(guī)則配置完成之后不報(bào)錯(cuò)了,但是在瀏覽器中查看控制臺(tái)輸出,會(huì)發(fā)現(xiàn)依然報(bào)錯(cuò)。 實(shí)現(xiàn)流程 按順序講一下自己的實(shí)現(xiàn)過程,中間踩了好幾個(gè)坑,感謝 Google,感謝 SegmentFault,讓我成功出坑。 百度地圖這么大的一個(gè)平臺(tái),應(yīng)該...

    Coly 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<