范蕊+馬慧彬+李仔麒


(佳木斯大學 信息電子技術學院,黑龍江 佳木斯 154007)
[摘 要]為緩解停車難問題,讓司機快速、有效、方便的找到停車位,本文開發了基于微信的停車場車位查詢管理系統。該系統向用戶提供了用戶管理、地圖顯示、車位查詢、自動尋路等功能,利用微信與百度地圖這兩個常用的手機APP以及智能手機上都攜帶的GPS,讓用戶無需其他硬件投入即可實現空閑車位的定位與自動尋路功能。
[關鍵詞]微信;百度地圖;車位查詢管理;GPS
doi:10.3969/j.issn.1673 - 0194.2017.10.103
[中圖分類號]TP31 [文獻標識碼]A [文章編號]1673-0194(2017)10-0-02
0 引 言
目前,我國汽車擁有量逐年增加,因此也產生了許多傳統停車場管理系統不能解決的問題,公共停車場日漸無法滿足越來越大的停車需求,因此,如何利用有限的車位滿足更多的泊車需求成為人們生活中亟待解決的問題。新型停車場現存的主要問題有:第一,司機無法快速而準確的找到停車場;第二,置身于停車場中,司機不能方便的找到有效的停車位。這種現狀不僅浪費停車時間、影響停車場的正常運行,也造成了社會資源的巨大浪費。基于微信平臺開發的車位查詢管理系統,可通過地圖導航的方法解決這種停車難問題,該系統不僅可以提升停車場的利用率,還極大的方便了司機的泊車需求,其操作方法也非常方便。
1 基于微信的停車場車位查詢管理系統的功能概述
基于微信的停車場車位查詢管理系統利用手機的GPS定位功能,確定用戶的坐標位置,按現有數據庫中停車場的數據信息,為車主提供查詢并引導其至最近的停車場,并提供最短路徑的導航功能。添加過本系統微信公眾號的車主在需要停車時,可根據微信端的顯示,了解到該區域的車位數量、位置等相關信息,方便快捷的找到空車位,并可以記錄該位置。為方便用戶使用,其不需要用戶安裝單獨的手機客戶端,而是通過微信即可進行查詢與管理操作。用戶關注微信公眾號注冊后使用,用戶在使用時,該系統會根據百度地圖生成相應的拓撲圖,使用最短路徑求解算法為用戶實現自動尋路功能。當用戶到達自己的目的地后,用戶再次操作手機便可以記錄用戶當前的位置信息,方便用戶在泊車后方便、快速的找到自己停車的位置,避免因為停車場的混亂分區而無法找到自己車輛的情況發生。
2 基于微信的停車場車位查詢管理系統的總體設計
該系統以B/S作為軟件架構,為了提高應用頁面的加載速度,提升用戶體驗,同時也為了提高不同手機瀏覽器的兼容性,網頁的界面設計以HTML 5為核心語言,后臺數據處理使用SQL Server數據庫管理系統,服務器程序采用Java語言開發,實現數據收發、數據存儲等功能。客戶端的應用采用C#為腳本語言,利用微信公眾號官方平臺提供的接口,實現停車場的查詢管理等相關功能。
首先,為本系統創建微信公眾號,并通過微信官方的認證,然后建立相應的公眾號菜單,通過頁面展示實現用戶注冊,自動尋路,自動定位等功能。系統主要包括用戶注冊與登錄模塊、地圖自動導航模塊、停車場與停車位查詢模塊、個人中心模塊、后臺管理模塊等5大功能模塊,系統功能模塊設計如圖1所示。
注冊登錄模塊主要包括新用戶的注冊功能、已注冊微信用戶的自動登錄功能,還提供了密碼找回和退出登錄等輔助功能。
地圖導航模塊主要包括行車路徑導航、查詢、定位等功能。
車位查詢模塊主要包括2種搜索方式:按照關鍵字模糊搜索停車場,按照區域顯示停車場,并可以進入停車場查詢停車位。
個人中心模塊主要包括編輯個人信息、修改密碼、查看停車記錄、修改已綁定手機號碼等功能。
后臺管理模塊,一是為系統管理員提供系統維護功能,二是完成停車場的布屬與實時數據更新功能,以便配合客戶端完成停車業務。
3 基于微信的停車場車位查詢管理系統關鍵技術的實現
3.1 導航功能的實現
使用百度地圖API實現導航功能。百度地圖API是百度為開發者免費提供的、基于百度地圖的應用接口,包括Android SDK、IOSSDK、定位SDK、JavaScript API、Web服務API、車聯網API以及LBS云等多種開發工具與服務,提供基本地圖展現、搜索、定位、路線規劃、LBS云存儲與檢索等功能,適用于PC端、移動端、服務器等多種設備的地圖應用開發,它的應用可以支持多種操作系統。
百度地圖API提供了豐富的地圖交互控件,可以通過BMap.Control來實現。涉及的基本類主要有:Control、Navigation Control、Overview Map Control、Scale Control、Copyright Control等。
(1)Control:控件的抽象基類,所有控件均繼承此類的方法、屬性。通過此類可以實現自定義控件。
(2)Navigation Control:地圖平移縮放控件,默認位于地圖左上方,它包括控件的平移縮放功能。
(3)Overview Map Control:縮略地圖控件,默認位于地圖右下方,是一個可折疊縮放地圖。
(4)Scale Control:比例尺控件,默認位于地圖左下方,顯示地圖的比例關系。
(5)Copyright Control:版本控件,默認位于地圖左下方。
百度地圖提供了很多豐富的接口,這對與廣大從事程序開發的程序員來說,省去了很多麻煩。在使用百度地圖時,通過訪問http://developer.baidu.com/map/,使用百度賬號登錄,點擊API控制臺,點擊創建運用,填寫相關資料,產生密鑰,此時人們可以使用密鑰訪問百度接口,并使用相應的服務。
3.2 用戶定位功能實現
用戶定位功能采用的是地圖瀏覽器定位的方法。首先實例化地圖,其次設置中心點,利用Geolocation.get Current Position()來實現獲取地理位置,判斷當前獲取的地理位置狀態是否是BMAP_STATUS_SUCCESS,是則定位成功,否便定位失敗。然后用BMap.Marker實現定位標記物的添加,BMAP_ANIMATION_BOUNCE實現跳躍的動畫效果。最后將定位好的經緯度坐標傳到LocalStorge變量中,以便于其他頁面使用。
3.3 駕車路線繪制方法
駕車路線的繪制,首先要實例化地圖,然后用get Item方法從local Storge中獲取地理位置的經緯度,定義circle變量用Circle()方法和search Nearby(),實現查找以當前位置為圓心的圓形區域中所有停車場的位置,并添加標記物,之后用add Event Listener()方法來設置監聽事件,從而實現拾取坐標,用driving.search(start,end),BMap.DrivingRoute()來實現駕車路線的繪制,它是在地圖下方顯示的結果面板。
3.4 微信接口方法
實現微信接口需要四個步驟:一是要進行域名綁定,登錄微信公眾平臺并進入“公眾號設置”,在這里填寫“JS接口安全域名”;二是需要在http://res.wx.qq.com/open/js/jweixin-1.0.0.js引入接口用的JS文件;三是要通過系統提供的config接口完成權限驗證配置;四是通過ready接口處理成功驗證,通過error接口處理失敗驗證。
事先定義一個用于微信接口的對象wxobj,接口功能的實現是通過這個wxobj實現的,wxobj主要傳遞微信用戶的微信ID參數,除此之外,它還有以下5個通用參數。
(1)success:它是一個回調函數指針,用于wxobj接口函數調用成功時執行。
(2)fail:它也是一個回調函數指針,用于wxobj接口函數調用失敗時執行。
(3)Complete:它也是一個回調函數指針,用于wxobj接口函數調用完成時執行,無論調用成功或調用失敗都會執行這個函數,因此這個函數一般處理調用的善后工作。
(4)Cancel:它也是一個回調函數指針,用于在用戶點擊“取消”操作時執行,這個函數很少用。
(5)Trigger:這是一個方法,用于監聽Menu中的按鈕點擊事件,這個方法只支持Menu中的有關接口。
4 系統運行要求與運行效果
為了保證系統穩定運行,基于微信的停車場車位查詢管理系統除了滿足用戶功能的需求外,還充分考慮了用戶信息的安全性、系統運行的可靠性、系統的兼容性與可擴展性。
該系統使用了微信接口,以用戶的微信ID為主要身份識別參數,這就涉及了用戶的隱私數據,因此,按照相關法律與行業規則,系統必須保證在網絡傳輸過程中不能泄露用戶的隱私數據,給用戶一個安全的使用環境。
系統運行的可靠性是軟件系統最基本的要求之一,為了保證車位查詢管理系統穩定運行,筆者提出以下運行指標:①除事先告知的系統升級以外,系統保證全天24小時穩定運行;②根據用戶需求,實時刷新數據,以保證相關的業務數據同步;③當客戶端出現問題時,能夠及時通過微信進行處理;④系統最長反應時間不超過10秒,即便在用戶并發量較高時仍能保證。
除了上述系統運行要求外,該系統在設計時還考慮到未來停車業務的兼容性與可擴展性。系統采用OOP的統一設計模式,利用統一開發的技術框架,按標準接口方式構建軟件程序,這可以在以后增加業務模塊時,實現快速擴展,并取得良好的兼容性。
系統主要功能實現的運行效果如圖2與圖3所示,其中,圖2為車位查詢的用戶界面,圖3為駕車路線導航的路徑繪制效果。
5 結 語
隨著現代化城市建設的不斷推進,機動車的擁有量不斷增加,然而在寸土寸金的大城市根本無法提供相應數量的停車位。因此,如何高效地管理停車場,提高停車場的利用率,已變成一個極其重要并亟待解決的問題。基于微信的停車場車位查詢管理系統,能夠方便用戶查詢停車場與停車位,可以較好的解決“停車難”的問題。
注:馬慧彬,通訊作者
主要參考文獻
[1]俞皓,陸文芳.淺議運用“互聯網+”技術改善大城市交通管理[J].上海公安高等專科學校學報,2017(1).
[2]姜洋,馬慧彬,褚許輝,等.改進Dijkstra算法在校園電子地圖系統中的應用[J].電腦與信息技術,2015(3).
[3]馮先成,周密,徐川.基于Android的百度地圖多功能實現[J].武漢工程大學學報,2016(5).
[4]張波,趙雙明.基于Android平臺的百度地圖開發研究[J].軟件導刊,2015(7).
[5]劉文杰.信息網絡傳播行為的認定[J].法學研究,2016(3).