王建國,劉 明
(西安工業大學計算機科學與工程學院,陜西 西安,710021)
Internet和GIS技術的飛速發展,使得WEB GIS成為人們研究的熱點,而且,實際應用中對地理信息服務的各種新要求不斷驅動著WEB地圖服務模式的地理信息技術發展與完善,其所涉及的知識領域已經涵蓋網絡技術、通訊技術、視覺技術、空間定位技術、最佳路徑選擇技術等多個學科。
具有開放、易用、低成本等特點的Google Maps API是谷歌向地圖二次開發提供的一個接口,它提供了龐大的地理數據庫和強大的地圖處理功能,開發者可以在不建立自己地圖服務器的情況下,為用戶提供位置服務。地理數據庫是是GIS的中樞系統,Google Maps具有強大、成熟的地理數據庫,為WEB GIS提供強有力的地理信息可視化及查詢功能的支持。然而如何將Google Maps與GPRS技術有效結合,實現車輛的跟蹤,以及如何為用戶提供精確的位置服務,在GPS數據糾偏上還存在一些問題。
本文以Google Maps作為地圖資源為基礎,利用開放的API,對Google Maps進行二次開發,結合GPRS通信技術,設計并實現了基于Google Maps的車輛跟蹤系統,該系統具有較強的工程應用價值,如易燃易爆品運輸公司等對車輛實時監控要求性較高的公司。
Google Maps是由Google提供的電子地圖服務, 它提供了道路圖、衛星地圖、地形圖、道路衛星混合圖、街景地圖五種不同的視圖模式。Google Maps API是給Google Maps二次開發者提供的一個接口,借助Google Maps API開發者可以在不建立自己的地圖服務器情況下,將Google Maps地圖數據嵌入到自己的web應用中,為用戶提供位置服務,還可以對此地圖服務進行擴展,給地圖添加標注和路徑以及其他圖層覆蓋物,或者響應用戶的點擊事件,以及幫助開發者打造自己個性化的地圖應用站點。
Google Maps API 是一種將Google Maps嵌人到web應用的一組AP1,提供了強大的地圖顯示功能和地圖事件的處理功能。常用的有兩種接口:Ajax應用程序調用的JavaScript接口;Flash應用程序調用的Flex接口。
Google Maps API 的特點體現在:
①Google Maps 對所有獲取地圖服務秘鑰的用戶都是相對免費的,每天的訪問次數不超過2000次;
②Google Maps提供了道路圖、衛星圖、地形圖、道路衛星混合圖、街景圖五種不同的視圖模式,用戶可以根據自己的需求切換;
③Google Maps API 是一種基于服務器的應用開發模式,GIS 數據處理主要集中在Google Maps的服務器端,同時,地理數據庫的更新也由Google Maps服務器端負責,用戶只需發出請求獲取數據即可。
本系統由三部分組成:數據處理層、數據采集層以及連接兩者之間的數據傳輸層。其中數據傳輸層包括互聯網和接入網兩個部分。系統拓撲結構示意圖如圖1所示:

圖1 系統拓撲結構示意圖
如圖1所示,至下向上,依次是數據采集層、數據傳輸層、數據處理層。其中:
數據采集層:由終端車輛的信息采集設備完成,負責終端車輛自身信息和行駛信息的采集,如車輛的車牌號碼、車型、行駛速度、行駛方向、所處經緯度等信息,并將所采集的車輛所有信息打包,然后交給傳輸層;
數據傳輸層:由GPRS技術實現,負責將數據采集層獲得的車輛信息數據包傳輸到數據處理層。
數據處理層:負責接收傳輸層的數據包,并對數據包進行解析和處理。首先,將數據包解析成車輛自身數據和車輛行駛數據兩部分;其次,將車輛自身數據和行駛數據分別存入數據庫,以便為查詢車輛的歷史軌跡提供數據;最后,根據車輛的GPS數據,結合Google Maps的GPS糾偏庫,在Google Maps上標記車輛的位置,點擊標記時,彈出車輛的車牌號碼、行駛速度、方向等信息窗口,從而實現車輛的實時跟蹤。
本系統采用三層的拓撲結構,將數據的采集、傳輸、處理完全分開,具有清晰的邏輯性,同時,使系統的可擴展性、可維護性大大提高。
終端車輛作為車輛跟蹤系統的監控對象,那么車輛上的信息采集設備必須具備車輛位置數據的采集和傳輸兩大功能。車輛定位是車輛跟蹤系統的最基本功能,即將汽車的車牌號、經緯度、行駛方向、行駛速度、定位時間等信息實時的發送到車輛中控服務器。
GPRS從實現方式上來講是在GSM的基礎上引入了分組,以包的形式發送數據,在移動終端與外部網絡中不再使用永久連接,當數據發送時,建立連接,為用戶分配獨立地址,將用戶也作為獨立的數據用戶,以數據流量的方式付費。同時,傳輸速率也有很大的提升。GPRS系統本身采用IP網絡結構,內嵌有TCP/IP協議,因此遵循網絡協議來完成相應的通信,通過控制途經的路徑確定數據的傳輸過程。
鑒于車輛終端設備的最基本功能要求,考慮到系統的實驗階段性,終端車輛的移動性,需采用無線網絡傳輸,由于智能手機內嵌有GPS采集模塊和GPRS模塊,且內置了TCP/IP協議,可實現數據的高速可靠傳輸,滿足了移動通信的需要,因此本系統采用智能手機作為終端車輛的采集設備。
中控服務器端是本系統的核心,需要具備以下功能:一是在Google Maps上實時跟蹤終端車輛,中控服務器對終端車輛信息采集設備發送的數據進行分析和處理,將車輛的空間位置數據標記在Google Maps上,以做到實時跟蹤,并將GPS數據存入數據庫,以實現歷史軌跡回放功能;二是信息查詢與管理功能,當需要查看車輛過去某一時間段的形式軌跡時,根據數據庫提供的數據,繪制車輛行駛軌跡。
根據車輛的經緯度,在Google Maps上更新車輛標記的位置,以實現對車輛的實時跟蹤,是本系統的核心功能,那么對Google Maps API的研究顯得尤為重要。Google Maps API 提供的功能可以分成兩類:一是地圖顯示功能, 即用戶可以調用API 進行地圖信息的顯示及顯示模式的切換; 二是API 的擴展功能, 開發者可以利用Google Maps 所提供的API 進行二次開發, 或者與自己的系統進行整合,使地圖的功能更完善、強大。下面介紹在系統開發過程中使用到的核心類。
2.3.1 Google Maps的加載
Google Maps作為本系統的基礎平臺,因此如何加載Google Maps是需要解決的首要問題。在此使用到了Google Maps API的三個核心類,即Map、MapOptions、MapTypeId。Map類用來在指定的 HTML 容器中創建一個地圖對象;MapOptions是地圖選項類,主要是設置和獲取地圖的一些屬性,如地圖的類型、中心、縮放級別等,該類只有屬性沒有方法;MapTypeId類以常量的方式存儲Google Maps的類型,Google Maps的類型有四種:HYBRID(混合地圖)、ROADMAP(街道地圖)、SATELLITE(衛星地圖)、TERRAIN(地形地圖)。
2.3.2 車輛GPS位置在Google Maps上的標記
中控服務器根據終端車輛數據采集設備實時采集的GPS定位數據,在Google Maps上添加標記,以實現對車輛的實時跟蹤。為此,首先研究了Google Maps API的兩個核心類:Marker、MarkerOptions。Marker類用來在指定的地圖上添加標記;MarkerOptions是標記選項類,主要設置和獲取標記的屬性,如標記在地圖上顯示的位置、標記的標題、標記顯示的樣式等。
終端車輛上的手機通過GPS模塊采集到車輛的GPS數據,將GPS數據和車輛自身數據打包,并通過GPRS無線網絡將數據實時的反饋給中控服務器;中控服務器將車輛的GPS數據保存到數據庫,以便為查詢車輛的歷史軌跡提供數據,并且根據此數據的經緯度信息在Google Maps上添加標記,實現跟蹤。
具體實現方法是,根據終端車輛的經緯度數據創建一個LatLng實例,然后將LatLng實例作為MarkerOptions的position參數創建一個MarkerOptions實例,Marker類再通過構造方法以MarkerOptions實例作為參數創建對象,最后Map對象通過setOptions方法將Marker對象綁定到地圖上,至此,車輛位置也就標記到Google Maps上。將當回放歷史信息時,監控中心從車輛行駛信息數據庫中讀取車輛的行駛信息,再按照上述方法,在Google地圖上標識出來。圖2是終端車輛在預定路線的實時位置。
中控服務器作為一個Web服務器,是為用戶提供位置信息服務的,因此需要建立良好的信息管理和查詢平臺,以保障系統的良好運行。中控服務器可通過終端車輛的車牌號、行駛時間、車輛型號等信息進行單條件或多條件組合查詢,從而得到車輛的歷史行車軌跡。

圖2 終端車輛在預定路線的實時位置
本文分析了Google Maps API的基本特點、功能及基本使用方法,并在此基礎上設計并實現了車輛跟蹤系統。結果表明,基于Google Maps JavaScript API的地圖服務應用系統,不僅降低系統開發的難度,也改善了用戶體驗,且在非盈利的系統應用中完全免費,在工程應用方面,具有很好的前景和推廣價值。
[1]吳肖,彭 璇,朱明磊.基于Google Map API的校園電子地圖開發.測繪工程.2010年6月第19卷第3期.
[2]江前斌.Google地圖接口在物流運輸系統中的應用研究.中國市場.2011年第6期.
[3]戴 兵.基于Google Maps API的校園地圖設計[J].電腦知識與技術.2008(S2): 184- 185
[4]王志紅,胡川.基于Google Maps API的網絡地圖服務系統的研究與應用.測繪標準化.2010: 26(2).
[5]莫以為,何新彪.基于Google Maps JavaScript API的物流配送車輛調度系統設計.制造自動化.2011年6月第33卷第6期.
[6]張艷,李忠,趙冬梅.基于Google Maps的人員定位調度系統研究與實現.湖南工程學院學報.2011年9月第21卷第3期.