Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 開發入門 >> 智能交通之路(一)

智能交通之路(一)

編輯:開發入門

公共交通減少了交通擁擠和由此產生的污染。同時還降低了用戶的壓力水平和需要支付的費用。現在許多 Web 站點和移動應用程序幫助全球各個城市的乘客,購物者和游客成為合乎道德的利己者,幫助他們利用交通選項。本文將向您介紹一些巧妙的技術,讓您能夠搭乘公車(或者輕軌,或者 EI,或者地鐵)到您想去的地方,就像在公園散步那樣簡單。更好的是,您可以將部分此類技術融合到您個人的應用程序中,使您能夠對他們的交通機會了如指掌。

交互式 Web 站點幾年前就開始提供地圖和駕駛向導。向路人詢問那些無聊的七拐八拐的駕駛路線的日子已經一去不復返了;您只需在這些網站中輸入起點和終點地址,在線引擎就會完成剩下的工作。Google Maps 是公認的用途最廣泛的地圖網站。在它 2005 年 2 月發布後的幾個月內,Web 開發人員就對 Google Maps 進行反向設計,並將從其他網站獲得數據導入,在 Google 地圖上顯示結果從而創建了 mashups。一個無恥的黑客甚至還將 Yahoo!的實時交通數據和 Google 的駕駛向導聯系起來。這使得正式的 Google Maps API 於 2005 年 6 月發布。Google Maps 產品的經理開玩笑說,“我們之所以這麼做是因為其他人已經在這麼做了”(見 參考資料)。

Google Maps

將它和地圖混搭

閱讀 developerWorks 中有關利用 Google Maps API 創建 mashups 的文章:

  • 使用 Groovy 構建社交網絡混搭(Mashup)應用程序” 介紹了如何利用 Google Maps、Twitter,Groovy 和 AJax 構建一個社會網絡。
  • GWT 應用,第 1 部分:使用 Google Web Toolkit 實現 places 應用程序” 演示了如何創建一個結合 Google Maps 和天氣數據的桌面 Web 應用程序。
  • 精通 Grails:Grails 服務和 Google 地圖” 介紹了如何使用地理編碼,Google Maps 和 Grails 服務來構建一個空中旅客所需旅行計劃應用程序。

通過發布官方的 API,Google 用一種巧妙而大膽的方式轉變了 Web 站點的焦點。現在它是一副只欠最後一筆的作品,而不是任意程序員可以能夠進行自我創作的畫布。Mashups 幾乎在一夜之間萌發,它告訴人們哪裡能找到最便宜的汽油,警察在哪裡設置超速陷阱,以及其他在路上能幫助駕駛員的信息。

這種自己動手的精神在樂於乘公車出行的幾位 Google 員工身上也可見一斑。2005 年 12 月,Google Transit Trip Planner 問世。能夠選擇駕駛向導或者公共交通是它的一個特性,該特性基於今天的 Google Maps — 只要查看緊鄰 Get Directions 按鈕的下拉菜單。(您也可以選擇步行和自行車向導。)

花一點時間試用一下這一新功能。選擇您家鄉的兩個主要旅游景點 — 購物中心,運動場和機場是典型的好選項 — 並在它們之間選擇公共交通向導。

Google Maps 允許您相對寬松地設置起點和終點。我分別在 A 和 B 位置輸入 Flat Iron Crossing, BroomfIEld, CO (一個大型購物中心)和 Coors FIEld, Denver, CO (Colorado RockIEs 比賽的棒球場)。這兩個地址都出現在我模糊搜索建議清單的接近頂部位置,只需單擊一下,相應的信息就會出現在適當位置。不需要知道任意目標的准確地址,我現在就能獲得兩地之間的路線,如圖 1 所示:


圖 1. Google Maps 顯示的公共交通向導
Flat Iron Crossing 和 Coors Field 間的地圖和向導的 Google Maps 截圖 
 

當您在 Google Maps 中選擇了公共交通,您還需要提供一個額外的標准 — 您想要的出行時間。因為公車和鐵路遵循特定的時間表,您需要確保您在正確的時間出現在正確的地方。單擊 Show Options 來顯示 Arrive 和 Depart 的區域,並選擇您想要出發和到達的任一時間。Google Maps 會調整相應的建議路線,如圖 2 所示:


圖 2. 在 Google Maps 中調整您的出行時間
顯示出發和到達時間的截圖 
 

在您嘗試過購物中心和運動館之後,試著輸入您的家庭地址和工作地址。我發現離我家只需 5 分鐘的地方有一個室內的停車換乘停車場,只要購買公車票就能白天免費停車。特快巴士可以在離我公司幾個路口的地方放下我。在高峰時間,兩個小時內每 10 分鐘就有一輛巴士經過。無需停止,無需中轉,無需等待,我每天上班都能有一個毫無耽擱的公共交通解決方案。Google Maps,謝謝你。


Google Transit

如果您所在的城市在 Google Maps 上沒有顯示公共交通選項,這是因為您所在當地交通機構沒有向 Google 提交它的詳細清單。您可以訪問 Google Transit 網站,如圖 3 所示,查看您所在城市是否在清單上:


圖 3. 查看您所在的交通機構是否出現在 Google Transit 中
Google Transit 的 Web 站點截圖 
 

想要加入到 Google Maps 中,交通機構只需簡單地按 General Transit Feed Specification(GTFS)格式提供它的路線數據,將其放置在一個大眾可訪問的 URL,讓 Google 知道在哪裡找到它(見參考資料)。在這之後,Google 會每隔一段時間下載這些文件,確保使用最新的信息來計算路線。

GTFS 格式是一系列相關的逗號分隔值(CSV)文件。例如,圖 4 顯示了一些機構,站點和路線的示例數據:


圖 4. GFTS 格式的簡單例子
Web 網頁顯示 GTFS 格式數據對交通機構有用的例子的截圖 
 

如果您是一個經驗豐富的編程人員,您或許很驚異 Google 選擇使用 CSV 文件,而不是更新的格式,例如 XML 或者 JavaScript Object Notation(JSON)。在一個固定 URL 中的 CVS 文本 ZIP 文件並不是用於劃分界限,而是盡可能地移除阻止參與到項目中的技術壁壘。作為一個行業,我們似乎在無休止地爭論 Web 服務的復雜解決方案的相關優點,比如 SOAP 對 REST 和 XML 對 JSON;這個簡單的解決方案也再次提醒了我們在簡潔之中還有高明之處。

“rtd gtfs” 的快速 Web 搜索向我們指明網頁,如圖 5 所示,Denver transit authority(RTD)提供了它的 GTFS 文件。有了每個站點的緯度/經度坐標,現在我就有了編寫自己 killer Google Maps mashup 的原料。


圖 5. Denver RTD GTFS Web 網頁
Denver RTD GTFS Web 網頁的截圖 
 

如果您想要在一個交通機構升級它的 GTFS 文件時獲得通知,您可以訂閱一個 RSS 提要,您可以有選擇地指定某個交通機構(見 參考資料)。例如,我可以查看圖 6 所示的結果,RTD 最後一次升級它的 GTFS 文件是在大約三周以前。根據提要的歷史記錄,看起來 RTD 大約每隔一季度會升級一次。


圖 6. GTFS Exchange Web 站點
GTFS Data Exchange Web 站點上 Denver RTD 的 Web 網頁截圖 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved