国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android的多人定位系統(tǒng)的設計與實現(xiàn)*

2016-01-01 10:55:54李冬睿趙建保許統(tǒng)德廣東農工商職業(yè)技術學院計算機系廣東廣州50507廣東農工商職業(yè)技術學院教務處廣東廣州50507
關鍵詞:指南針好友百度

李冬睿,趙建保,許統(tǒng)德(.廣東農工商職業(yè)技術學院 計算機系,廣東 廣州 50507;.廣東農工商職業(yè)技術學院 教務處,廣東 廣州 50507)

基于Android的多人定位系統(tǒng)的設計與實現(xiàn)*

李冬睿1,趙建保1,許統(tǒng)德2
(1.廣東農工商職業(yè)技術學院計算機系,廣東 廣州 510507;2.廣東農工商職業(yè)技術學院教務處,廣東 廣州 510507)

目前大多數(shù)導航軟件都采用指南針指向的單目標導航模式進行定位和導航,此模式無法進行一對一定位且導航指示不夠簡明,為了滿足更多定位情境和提供更簡明的導航指示,設計了一款基于Android的多人定位系統(tǒng),該系統(tǒng)提供準確快捷的好友定位以及更多導航生活服務,具有多人定位、導航找人、定點集合等功能。在實際應用中,該系統(tǒng)取得較好的效果。

Android系統(tǒng);定位;導航;一對一定位;定點集合;百度地圖

0 引言

近年來,隨著3G和4G[1]網絡的日益完善,智能手機在國內的普及率越來越高,國內手機市場主要以Android手機和蘋果手機為主流,而Android系統(tǒng)的開源性和免費性使其在國內手機市場占有更高的份額。目前,集定位與導航功能于一身的 Android主流APP有百度地圖、高德地圖和 Google地圖[2],這些應用已實現(xiàn)汽車導航、公交換乘和步行導航等功能,都采用指南針指向的單目標導航模式進行定位和導航。雖然這些主流的導航軟件都能很好地解決用戶的定位和導航問題,但在某些應用場景卻表現(xiàn)得無能為力,例如逛街找人、學生考勤、定點集合、老人或小孩跟蹤定位、戶外隊員管理等。

為使地圖資源能得到充分利用,能適應更多的應用場景,本文開發(fā)了一款基于Android的多人定位系統(tǒng)。該系統(tǒng)使用百度地圖API,突破了以往導航定位的單目標模式,實現(xiàn)了一對一定位、多人定位、導航找人、定點集合、動態(tài)好友位置追蹤與指向和手機防盜等功能,能更好地為便捷生活提供服務。

1 相關技術

1.1 Android平臺

Android是Google開發(fā)的基于Linux平臺的開源手機操作系統(tǒng)[3]。Android平臺主要在操作系統(tǒng)和中間件支撐下,能夠用于用戶界面設計和應用軟件開發(fā)[4]。Android自身集成豐富的API,且大部分代碼開源。Android的應用框架層采用結構化設計,從而簡化了 Android應用程序的開發(fā)[4]。Android四大組件包括 Activity、Service、BroadCastReceiver和 ContentProvider[5],Android應用程序的開發(fā)環(huán)境只需Eclipse和插件ADT即可[6]。

1.2百度地圖API

百度地圖 API是一套由 JavaScript語言編寫的應用程序接口,它提供了網絡地圖服務的全部功能,包括地圖數(shù)據(jù)、地圖顯示、地圖操作、地圖標注、地圖編輯、地圖查詢等[7]。百度通過地圖服務應用接口將應用開發(fā)平臺和地理信息數(shù)據(jù)捆綁,將復雜的地理信息系統(tǒng)底層進行封裝。用戶可不必了解它的技術細節(jié)就能在應用中快速構建基礎地理底圖[8]。

2 需求分析

2.1功能描述

本系統(tǒng)為用戶提供準確快捷的好友定位與導航生活服務,典型應用場景有逛街找人、學生考勤、定點集合、老人或小孩跟蹤定位、戶外隊員管理等,因此,需具備以下7個功能:用戶登錄、用戶注冊、好友添加、防盜、多人定位、導航、一對一定位。具體功能詳細描述如表1所示。

2.2用例分析

根據(jù)以上的功能描述,得出圖1所示的用戶用例圖。

3 系統(tǒng)設計

3.1多人定位系統(tǒng)架構設計

為使本系統(tǒng)開發(fā)和維護更方便,并提高系統(tǒng)數(shù)據(jù)的安全性,本系統(tǒng)采用分層模型的設計思想,系統(tǒng)架構如圖2所示。

3.2多人定位系統(tǒng)時序圖

在用戶使用本系統(tǒng)時,首先進行身份驗證,如果是新用戶則必須先注冊,然后再登錄,登錄成功后可以選擇相應的功能,包括防盜、添加好友和多人定位,在多人定位功能中可以實時顯示好友所在位置以及集合點位置,并能實現(xiàn)3種方式的導航,還可進行一對一定位來實現(xiàn)好友互找。系統(tǒng)詳細時序圖如圖3所示。

圖1 用戶用例圖

圖2 多人定位系統(tǒng)的分層架構設計

圖3 多人定位系統(tǒng)的時序圖

3.3定位功能設計

Android手機可通過 GPS+GPRS、只有 GPS和只有WiFi這3種情況下進行實時定位,利用百度地圖API實現(xiàn)地圖顯示。終端的實時位置信息保存在定位服務器(定位服務器使用PHP開發(fā))中,定位服務器收到各終端的定位請求后,將位置信息發(fā)回給終端,為終端提供必要的路線信息和導航信息。

4 多人定位系統(tǒng)主要功能的實現(xiàn)

4.1一對一定位的實現(xiàn)

當兩個用戶互相加為好友后,便可使用一對一定位功能,本功能以指針實時指向加距離的方式來實現(xiàn)定位,從而能更直觀地反映好友相對于自己所在的位置和方向。

根據(jù)當前用戶和目標用戶的方向來進行實時更新指南針旋轉,更新指南針旋轉的線程代碼如下:

//這是更新指南針旋轉的線程,靈活使用 handler,每 20 ms檢測方向變化值,對應更新指南針旋轉

protected Runnable mCompassViewUpdater=new Runnable(){

@Override

public void run(){

if(mPointer!=null&&!mStopDrawing)

if(mDirection!=mTargetDirection)

//計算耗時最短的動畫

float to=mTargetDirection;if(to-mDirection>180)

{to-=360;}

else if(to-mDirection<-180)

{to+=360;}

//限制MAX_ROTATE_DEGREE的最大速度

float distance=to-mDirection;

if(Math.abs(distance)>MAX_ROATE_DEGREE)

{distance=distance>0 MAX_ROATE_DEGREE:(-1.0f*

MAX_ROATE_DEGREE);}

//如果距離短的話需要減慢速度

mDirection=normalizeDegree(mDirection+((to-mDirection)*

m Interpolator.getInterpolation(Math.abs(distance)>

MAX_ROATE_DEGREE 0.4f:0.3f)));//用了一個加速動畫去旋轉圖片

Log.e("test",""+mDirection);

float t=mDirection+target;

mPointer.updateDirection(t);//更新指南針旋轉

mHandler.postDelayed(mCompassViewUpdater,20);//20 ms后重新執(zhí)行自己,比定時器好

}}};

當兩個用戶不斷移動位置時,通過兩者的經、緯度實時更新兩者的距離,更新距離的代碼如下:

private void setjuli(int la,int lo){

GeoPoint p1=new GeoPoint((int)(Omylocation.getMyLocation().

latitude*1e6),(int)(Omylocation.getMyLocation().

l

ongitude*1e6));

GeoPoint p2=new GeoPoint(la,lo);

int jl=(int)(DistanceUtil.getDistance(p1,p2));

juli.setText(jl+"米");

target=get(p1.getLatitudeE6(),p1.getLongitudeE6

(),p2.getLatitudeE6(),p2.getLongitudeE6());

4.2添加集合點的實現(xiàn)

當要向好友添加集合點時,客戶端向定位服務器發(fā)送添加集合點請求,添加請求代碼如下:

public void AddCollection(ArrayList<String>array,int la,int lo)

throws Exception{

//添加集合點

String url=BASE_URL+"/addCollection.php";

int len=array.size();

String str="[";

for(int i=0;i<len;i++){str=str+"""+array.get(i)+""";if((i+1)<len){str=str+",";}}

str=str+"]";

Map<String,String>map=new HashMap<String,String>();

map.put("la",""+la);

map.put("lo",""+lo);

map.put("arr",str);

Log.e("info","addCollection la:"+la+"lo:"+lo);

Log.e("info",this.postRequest(url,map));

5 多人定位系統(tǒng)的應用

多人定位系統(tǒng)采用Android 4.2.2+PHP開發(fā),使用多層架構設計。系統(tǒng)的登錄、注冊和功能選擇界面如圖4所示。

圖4 登錄、注冊和功能選擇界面

添加好友、刷新好友位置和導航選擇界面如圖5所示。

一對一定位、添加集合點以及查看好友最近登錄時間如圖6所示。

圖5 添加好友、刷新好友位置和導航選擇界面

圖6 一對一定位、添加集合點以及查看好友界面

6 結論

本文詳細介紹了一款基于 Android平臺,利用百度地圖API設計和實現(xiàn)的多人定位系統(tǒng),實現(xiàn)了一對一定位、多人定位、導航找人、定點集合、動態(tài)好友位置追蹤與指向和手機防盜等功能,該系統(tǒng)達到了預期的效果并成功上線使用。

[1]丁革媛,高寶芹,孫強.無線通信技術的發(fā)展研究[J].微型機與應用,2014,33(10):1-3,6.

[2]王秋穎,陸宇含,王成龍.電子地圖在水利工程管理中的應用[J].電子技術與軟件工程,2014,14(7):107.

[3]陳浩,張敏.基于 ARM的車載導航接收機應用軟件設計與實現(xiàn)[J].計算機測量與控制,2013,21(3):813-815.

[4]農麗萍,王力虎,黃一平.Android在嵌入式車載導航系統(tǒng)的應用研究 [J].計算機工程與設計,2010,31(11):2473-2476.

[5]趙亮,張維.基于 Android技術的界面設計與研究[J].電腦知識與技術,2009,5(29):8183-8185.

[6]韓揚.Android應用軟件安全評測工具的設計與實現(xiàn)[D].北京:北京交通大學,2012.

[7]王紅崧,周海晏.基于百度地圖 API的旅游地理信息系統(tǒng)開發(fā)[J].現(xiàn)代計算機(專業(yè)版),2012,23(8):57-59.

[8]李艷.基于地圖API的 Web地圖服務及應用研究[J].地理信息世界,2010(2):54-57.

Design and realization of multip layer positioning system based on Android

Li Dongrui1,Zhao Jianbao1,Xu Tongde2
(1.Department of Computer,Guangdong AIB Polytechnic College,Guangzhou 510507,China;2.Office of Academic Affairs,Guangdong AIBPolytechnic College,Guangzhou 510507,China)

Most of the navigation software uses single target mode of navigation compass point to position and navigate at present,which can′t achieve a person to a person positioning and concise navigation indication.A multiplayer positioning system based on Android is designed in order to meet the more localization context and provide a more concise navigation indicator.The system provides accurate and fast friend positioning and navigation service for life,to provide multi-person positioning,navigation for finding people,fiexd-place assemblies place and other functions.In practical application,this system achieved good results.

Android system;location;navigation;a person to a person positioning;fixed-place assemblies;Baidu map

TP392

A

1674-7720(2015)08-0076-04

2014-11-16)

李冬睿(1983-),通信作者,男,碩士,講師,主要研究方向:圖形圖像處理、模式識別和嵌入式控制。E-mail:Ldr_1983@126.com。

趙建保(1978-),男,碩士,講師,主要研究方向:多媒體信息處理與通信。

許統(tǒng)德(1980-),男,碩士,助理研究員,主要研究方向為:數(shù)據(jù)挖掘,模式識別。

廣東省高等職業(yè)技術教育研究會課題(GDGZ14Y122 )

猜你喜歡
指南針好友百度
天然的指南針
觀展指南針
汽車觀察(2021年4期)2021-05-10 04:06:36
Robust adaptive UKF based on SVR for inertial based integrated navigation
屬羊
看圖寫話有妙招
百度年度熱搜榜
青年與社會(2018年2期)2018-01-25 15:37:06
刪除好友
雜文月刊(2017年20期)2017-11-13 02:25:06
百度遭投行下調評級
IT時代周刊(2015年8期)2015-11-11 05:50:22
百度“放衛(wèi)星”,有沒有可能?
太空探索(2014年4期)2014-07-19 10:08:58
指南針的由來
河北遙感(2014年2期)2014-07-10 13:28:50
胶州市| 清新县| 达尔| 连云港市| 哈巴河县| 余江县| 明水县| 乌兰察布市| 临洮县| 繁峙县| 青神县| 永嘉县| 和林格尔县| 儋州市| 全椒县| 河东区| 惠安县| 青铜峡市| 安宁市| 乌拉特后旗| 株洲市| 泽库县| 天津市| 晋州市| 桃园市| 曲松县| 子长县| 广河县| 唐山市| 墨脱县| 高青县| 新沂市| 南开区| 萍乡市| 洛南县| 根河市| 黔江区| 德惠市| 阿克苏市| 韩城市| 噶尔县|