亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        李冬睿,趙建保,許統(tǒng)德(.廣東農(nóng)工商職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)系,廣東 廣州 50507;.廣東農(nóng)工商職業(yè)技術(shù)學(xué)院 教務(wù)處,廣東 廣州 50507)

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

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

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

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

        0 引言

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

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

        1 相關(guān)技術(shù)

        1.1 Android平臺(tái)

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

        1.2百度地圖API

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

        2 需求分析

        2.1功能描述

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

        2.2用例分析

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

        3 系統(tǒng)設(shè)計(jì)

        3.1多人定位系統(tǒng)架構(gòu)設(shè)計(jì)

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

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

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

        圖1 用戶用例圖

        圖2 多人定位系統(tǒng)的分層架構(gòu)設(shè)計(jì)

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

        3.3定位功能設(shè)計(jì)

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

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

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

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

        根據(jù)當(dāng)前用戶和目標(biāo)用戶的方向來進(jìn)行實(shí)時(shí)更新指南針旋轉(zhuǎn),更新指南針旋轉(zhuǎn)的線程代碼如下:

        //這是更新指南針旋轉(zhuǎn)的線程,靈活使用 handler,每 20 ms檢測方向變化值,對應(yīng)更新指南針旋轉(zhuǎn)

        protected Runnable mCompassViewUpdater=new Runnable(){

        @Override

        public void run(){

        if(mPointer!=null&&!mStopDrawing)

        if(mDirection!=mTargetDirection)

        //計(jì)算耗時(shí)最短的動(dòng)畫

        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)));//用了一個(gè)加速動(dòng)畫去旋轉(zhuǎn)圖片

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

        float t=mDirection+target;

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

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

        }}};

        當(dāng)兩個(gè)用戶不斷移動(dòng)位置時(shí),通過兩者的經(jīng)、緯度實(shí)時(shí)更新兩者的距離,更新距離的代碼如下:

        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添加集合點(diǎn)的實(shí)現(xiàn)

        當(dāng)要向好友添加集合點(diǎn)時(shí),客戶端向定位服務(wù)器發(fā)送添加集合點(diǎn)請求,添加請求代碼如下:

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

        throws Exception{

        //添加集合點(diǎn)

        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)的應(yīng)用

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

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

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

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

        圖5 添加好友、刷新好友位置和導(dǎo)航選擇界面

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

        6 結(jié)論

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

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

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

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

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

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

        [6]韓揚(yáng).Android應(yīng)用軟件安全評測工具的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2012.

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

        [8]李艷.基于地圖API的 Web地圖服務(wù)及應(yīng)用研究[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-),男,碩士,助理研究員,主要研究方向?yàn)椋簲?shù)據(jù)挖掘,模式識別。

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

        猜你喜歡
        指南針好友百度
        天然的指南針
        觀展指南針
        汽車觀察(2021年4期)2021-05-10 04:06:36
        Robust adaptive UKF based on SVR for inertial based integrated navigation
        屬羊
        看圖寫話有妙招
        百度年度熱搜榜
        刪除好友
        雜文月刊(2017年20期)2017-11-13 02:25:06
        百度遭投行下調(diào)評級
        百度“放衛(wèi)星”,有沒有可能?
        太空探索(2014年4期)2014-07-19 10:08:58
        指南針的由來
        河北遙感(2014年2期)2014-07-10 13:28:50
        人妻精品无码一区二区三区| 亚洲国产精品美女久久 | 国产一区二区视频免费| 美国少妇性xxxx另类| 最新国产乱人伦偷精品免费网站 | 日本a级一级淫片免费观看| 日本熟妇hdsex视频| 国产日韩网站| 成人国产自拍在线播放| 国产一区二区三区蜜桃| 友田真希中文字幕亚洲| 无码中文字幕日韩专区视频| 连续高潮喷水无码| 亚洲一区二区三区1区2区| 新婚少妇无套内谢国语播放| 成年女人粗暴毛片免费观看| 亚洲欧美一区二区三区| 亚洲精品国产美女久久久 | 蜜桃码一区二区三区在线观看| 久久亚洲av无码精品色午夜| 亚洲av无码一区二区三区四区| 婷婷五月亚洲综合图区| 中文字幕亚洲精品高清| 最近更新中文字幕一区二区| 国产精品亚洲lv粉色| 一级免费毛片| 国产自产自现在线视频地址| 黄片大全视频在线播放| 亚洲欧美乱综合图片区小说区 | 天啦噜国产精品亚洲精品| 日本免费大片一区二区三区| 国产a国产片国产| 女同亚洲女同精品| 91精品啪在线观看国产色| 人妻少妇看a偷人无码| 99久久国产综合精品麻豆| 日本国产在线一区二区| 91精品国产色综合久久| 极品美女aⅴ在线观看| 亚洲www视频| 婚外情长久的相处之道|