李鳳祥
(遼寧軌道交通職業學院,遼寧 沈陽 110023)
本應用旨在幫助學生更好地熟悉校園環境,解決生活中遇到的問題。其主要功能為:通過對服務器發出請求,經網絡連接在手機中加載出校園地圖,并顯示出當前使用者的實時位置。通過對校園周邊熱點信息數據的處理存入本地數據庫中,之后通過本地數據庫提取需要的數據,整理再顯示到界面中。本應用的具體功能如下:
(1)在應用中加載地圖。高德是中國領先的數字地圖內容、導航和位置服務解決方案提供商。高德地圖是國內一流的免費地圖導航產品,也是基于位置的生活服務功能最全面、信息最豐富的手機地圖,由國內最大的電子地圖、導航和LBS服務解決方案提供商高德軟件提供。高德地圖Android SDK是一套地圖開發調用接口,為開發者提供免費的地圖解決方案,供開發者在自己的Android應用中加入地圖相關的功能。
(2)實現使用者在地圖中實時位置。通過高德LBS開放平臺提供的地圖相關功能,調用“我的位置”這一功能,從而實現在地圖上顯示用戶位置,也可以自定義定位圖標。
(3)將校園熱點加載到地圖中。將校園熱點存放在數據庫中,通過查詢ID調用數據庫信息,從而加載校園熱點。
本系統功能設計目標如下:
(1)加載地圖:通過點擊手機桌面“校園熱點”圖標,運行本系統,通過網絡連接,加載出遼寧軌道交通職業學院校園地圖。
(2)定位:通過GPS技術,確定用戶自身的校園位置,并進行實時監測。
(3)加載校園周邊熱點[1]:根據用戶的不同需要,可分類加載出不同的校園熱點。如:宿舍樓、綜合樓、教務處、行政辦公樓、食堂等。
(4)加載校園熱點信息:通過點擊熱點圖標,加載出對應信息供用戶參考。
(1)安裝Java jdk,最新版本,下載成功后,安裝。
(2)安裝Eclipse。Eclipse是一款開源的集成開發環境,它能夠極大的提高開發應用效率,最重要的是,它提供了豐富的Android相關插件。
(3)安裝ADT插件。
高德地圖[2]Android SDK是一套地圖開發調用接口,供開發者在自己的Android應用中加入地圖相關的功能。開發者可以輕松地開發出地圖顯示與操作、興趣點搜索、地理編碼、離線地圖等功能。
創建頁面如圖1所示。

圖1 創建頁面
本應用是使用高德地圖來實現地圖的加載。在高德LBS平臺,為開發者提供免費的地圖解決方案。包括:地圖顯示、定位、關鍵字搜索等功能。首先,在平臺申請賬號,下載地圖支持文件并安裝到系統中。然后,在Android Manifest文件中注冊開發者賬號,之后在布局文件中劃定地圖位置并引用外部類,最后在Main Activity中指定遼寧軌道交通職業學院為地圖中心,完成對地圖的初始化。
首先設置定位圖標的樣式,在地圖中加入定位圖層,并開啟定位[3]。
private void setUpMap(){
MyLocationStyle myLocationStyle = new MyLocationStyle();
myLocationStyle.myLocationIcon(BitmapDescriptorFactory
.fromResource(R.drawable.location_marker));
myLocationStyle.strokeColor(Color.TRANSPARENT);
myLocationStyle.radiusFillColor(Color.argb(0, 0, 0, 0)); myLocationStyle.strokeWidth(0.0f);
amap.setMyLocationStyle(myLocationStyle);
amap.setLocationSource(this);
amap.getUiSettings().setMyLocationButtonEnabled(true); amap.setMyLocationEnabled(true);
}
首先定義熱點坐標常量,以便使用,之后自定義熱點圖標,構建模型。然后,在主程序中將調查的熱點詳情寫入SQLite數據庫。
用戶通過熱點分類,選擇想加載的熱點,系統首先通過判斷“choice”的值,然后在數據庫中調用相應的圖標信息,加載到地圖中。
public void onClick(View v){
switch(v.getId()){
case R.id.tv_choice1:
amap.clear();
amap.addMarker(new MarkerOptions().anchor(0.5f, 0.5f)
.position(Constants.F1).title(“1號樓”).icon(marker_1)
.draggable(true));
amap.addMarker(new MarkerOptions().anchor(0.5f, 0.5f)
.position(Constants.F2).title(“2號樓”).icon(marker_2)
.draggable(true));
......}
在Android系統中,用戶所看到的和能夠操作的界面都是一個個獨立的Activity。在本校園熱點手機應用中,用戶通過點擊熱點詳情,就能通過查詢熱點的id,從數據庫中調用數據,從而跳轉到熱點信息界面中。
public void onInfoWindowClick(Marker marker){
Intent.intent=new.Intent(GroundOverlayActivity.this,CampusDetail.class);
String str=marker.getTitle();
if(str.equals(“食堂”)){
Bundle bundle=new Bundle();
bundle.putString(“choice”, “食堂”);
intent.putExtras(bundle);
startActivity(intent);
}else if(str.equals(“綜合樓”)){
Bundle bundle=new Bundle();
bundle.putString(“choice”, “綜合樓”);
intent.putExtras(bundle);
startActivity(intent);
......}
本系統是基于Android平臺的校園熱點手機應用,設計此應用的目的是為了服務于遼寧軌道交通職業學院的學生,尤其是新同學,使他們能夠更快地熟悉校園,更好地適應大學生活。