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

        ?

        基于Android的百度地圖多功能實現(xiàn)

        2016-12-06 07:50:56馮先成周密徐川
        武漢工程大學學報 2016年5期
        關(guān)鍵詞:基類覆蓋物百度

        馮先成,周密,徐川

        1.武漢工程大學電氣信息學院,湖北 武漢 430205;2.智能機器人湖北省重點實驗室(武漢工程大學),湖北 武漢 430205

        基于Android的百度地圖多功能實現(xiàn)

        馮先成1,2,周密1,徐川1

        1.武漢工程大學電氣信息學院,湖北武漢430205;2.智能機器人湖北省重點實驗室(武漢工程大學),湖北武漢430205

        基于墨卡托投影法、A*算法等理論,調(diào)用百度地圖應(yīng)用程序接口(API)的SDKInitializer、MapView和BaiduMap三大核心類方法,設(shè)計出一套百度地圖的方案.首先進行密鑰申請和清單文件的配置,再自定義一個基類BaseActivity,完成地圖界面初始化、調(diào)用生命周期方法等預(yù)操作.在基類上進行地圖多功能開發(fā),實現(xiàn)了瀏覽地圖、搜尋地點、路線規(guī)劃、自我定位等應(yīng)用.結(jié)果表明,多功能百度地圖有較好的移植性、實用性,更加貼近用戶,能夠滿足用戶搜索、定位等基本功能的實際需求.

        Android;百度地圖;A*算法;搜索

        1 引言

        百度地圖是一項網(wǎng)絡(luò)地圖搜索服務(wù)[1],地圖覆蓋區(qū)域廣、查詢功能多樣,Android是基于Linux的操作系統(tǒng),多用于移動設(shè)備.隨著移動通信網(wǎng)絡(luò)技術(shù)、互聯(lián)網(wǎng)技術(shù)、GPS技術(shù)[2]和GIS技術(shù)的發(fā)展,二者的結(jié)合使得一種新形式的電子地圖應(yīng)用服務(wù)得以出現(xiàn)[3].因此,為滿足用戶基本需求,需要申請百度地圖密鑰[4]和使用百度提供的開源核心類接口[5],在手機端設(shè)計并實現(xiàn)瀏覽地圖[6]、搜尋地點、路線規(guī)劃、自我定位[7]等多功能.

        2 理論算法

        2.1墨卡托投影

        百度地圖使用的投影方法是墨卡托投影.墨卡托投影是由荷蘭地圖學家墨卡托(G.Mercator)于1569年創(chuàng)擬.假設(shè)地球被套在一個圓柱中,赤道與圓柱相切,然后在地球中心放一盞燈,把球面上的圖形投影到圓柱體上,再把圓柱體展開,就形成了一幅墨卡托投影的世界地圖,廣泛應(yīng)用于航空、航海中.假設(shè)墨卡托投影的坐標系原點為(0,λ0),表示X軸為赤道,Y軸則在經(jīng)度為λ0處垂直于赤道,X軸的刻度是等距的,Y軸方向越靠近兩極變形越大.墨卡托投影公式為

        式(1)中,λ為經(jīng)度,φ為緯度.即有經(jīng)緯度(φ,λ)對應(yīng)的墨卡托平面坐標即為(x×R,y×R).很明顯,y方向的距離只有在赤道附近才是接近實際距離的.

        2.2A*尋徑算法

        A*算法可運用到百度地圖路徑搜索中.A*算法是一種靜態(tài)路網(wǎng)中求解最短路徑最有效的直接搜索方法,算法中的距離估算值與實際值越接近,最終搜索速度越快.尋徑公式表示為

        對于路徑搜索問題,狀態(tài)就是圖中的節(jié)點,代價就是距離.定義f(n)是代價估計,g(n)為實際代價,h(n)最佳路徑的估計代價.保證找到最短路徑(最優(yōu)解的)條件,關(guān)鍵在于估價函數(shù)f(n)的選?。ɑ蛘哒fh(n)的選?。?,以d(n)表達狀態(tài)n到目標狀態(tài)的距離,那么h(n)的選取大致有如下3種情況:1)如果h(n)≤d(n)到目標狀態(tài)的實際距離,這種情況下,搜索的點數(shù)多,搜索范圍大,效率低,但能得到最優(yōu)解;2)如果h(n)=d(n),即距離估計h(n)等于最短距離,那么搜索將嚴格沿著最短路徑進行,此時的搜索效率是最高的;3)如果h(n)>d(n),則搜索的點數(shù)少、搜索范圍小、效率高,但不能保證得到最優(yōu)解.

        圖1 API Key申請流程圖Fig.1Flowchart of applying API Key

        3 總體方案設(shè)計

        3.1API Key申請及清單文件配置

        百度地圖是在軟件Eclipse中進行開發(fā).首先,在Eclipse中導入百度地圖的核心開發(fā)包,開發(fā)包文件包括:baidumapapi_v3_3_0.jar、locSDK_5.0.jar、libBaiduMapSDK_v3_3_0_15.so和liblocSDK5.so等文件,其中,locSDK_5.0.jar和liblocSDK5.so為百度定位SDK所使用.

        自v2.1.3版本開始,需要進入新的key申請系統(tǒng).申請流程如圖1所示,打開命令行進入Android簽名目錄,使用JDK的keytool.exe生成數(shù)字簽名,根據(jù)規(guī)則加上應(yīng)用包名,合成安全碼,進而獲取key.申請密鑰和百度地圖開發(fā)權(quán)限需要在清單文件中配置.

        3.2總體方案

        基于開源的百度地圖API的核心類及接口,設(shè)計出一套總體方案,總體流程如圖2所示.

        圖2 總體方案設(shè)計圖Fig.2Overall design diagram

        當打開手機APP時,會進入菜單主頁面,這個頁面顯示的就是常用的百度地圖應(yīng)用列表.大致分為普通地圖顯示,地圖圖層切換(底圖、衛(wèi)星圖、實時交通信息圖),地圖覆蓋物(用戶自行對地圖進行標注)、指定范圍內(nèi)搜索、路線策略顯示(駕車、步行、公交換乘)、自我定位.任意打開一個菜單列表都會校驗Key、GPS(定位時才需要)、網(wǎng)絡(luò)是否打開,不滿足條件,無法進入應(yīng)用,界面會提示用戶打開相應(yīng)的操作.當用戶進入到某應(yīng)用時,按返回鍵會重新回到主頁面.

        4 程序部分代碼及真機實現(xiàn)結(jié)果

        4.1定義基類

        在程序中首先定義了一個基類BaseActivity讓其作為父類[8],應(yīng)用開發(fā)的類都是繼承這個類,這樣使得代碼利用率高且程序簡潔.首先初始化基類,然后定義兩個對象即百度地圖控件對象和控制器對象,再使用MapStatusUpdateFactory類來描述地圖狀態(tài),如設(shè)置縮放級別、坐標、中心點.其流程如圖3所示.

        圖3 定義基類Fig.3Defined base class

        4.2覆蓋物

        地圖覆蓋物[9]是覆蓋到地圖上的內(nèi)容,包括:本地覆蓋物和搜索覆蓋物.本地覆蓋物[11-13]的抽象基類:OverlayOptions,搜索覆蓋物抽象類:Overlay? Manager.對于本地覆蓋物,以marker覆蓋物為例,會先新建markerOptions對象,然后設(shè)置對象的位置、圖標、是否可以拖拽(默認是否)、標題等,最后將覆蓋物添加至底圖中.圓形覆蓋物CircleOp?tions、文字覆蓋物TextOptions等大體思路都與上例是一致的.Marker覆蓋物運行結(jié)果如圖4所示,圖4中加入了泡泡窗口.

        圖4 marker覆蓋物Fig.4Marker options

        對于搜索覆蓋物[14-15],包括位置檢索、周邊檢索、范圍檢索、公交檢索、駕乘檢索、步行檢索等,初始化PoiSearch類,通過setOnGetPoiSearch Re?sultListener方法注冊搜索結(jié)果的監(jiān)聽對象OnGet?PoiSearchResultListener,通過自定義MySearchLis?tener實現(xiàn)類,處理不同的回調(diào)方法,獲得搜索結(jié)果,再結(jié)合覆蓋物展示結(jié)果.以步行路線為例,流程如圖5所示.以從武漢工程大學步行到華中科技大學為例,運行結(jié)果如圖6所示.

        4.3定位

        定位獲取位置主要有GPS定位、網(wǎng)絡(luò)定位和WIFI定位.定位流程如圖7所示.圖8為寢室WIFI定位.

        圖5 步行檢索Fig.5Walk retrieval

        圖6 步行路線查詢Fig.6Query of walk route

        圖7 定位流程圖Fig.7Flowchart of positioning

        圖8 寢室定位Fig.8Dormitory location

        5 結(jié)語

        本文基于墨卡托投影法及A*尋徑算法等理論方法,通過使用開源的百度地圖API核心類及接口,進行了密鑰的申請、清單文件的配置,設(shè)計了一套百度地圖方案,在真機上實現(xiàn)了3個常見應(yīng)用,展示文字、全城搜索、公交換乘等其他應(yīng)用均已實現(xiàn),因篇幅有限沒有列出.基于Android平臺的地圖服務(wù)具有日常實用性,未來研究重點是在Android平臺下,完善和創(chuàng)新百度地圖的應(yīng)用,并以百度地圖為基礎(chǔ),進一步拓展研究用戶需求的其他項目.

        [1]甄巍松,李國強,魯統(tǒng)偉.基于特征點相似度的匹配定位算法[J].武漢工程大學學報,2011,33(4):85-88. ZHEN W S,LI G Q,LU T W.Match and location algorithm based on similarity of feature point[J]. Journal of Wuhan institute of technology,2011,33(4):85-88.

        [2]魯統(tǒng)偉,林芹,李熹,等.記憶運動方向的機器人避障算法[J].武漢工程大學學報,2013,35(4):66-71. LU T W,LIN Q,LI X,et al.Obstacle avoidance algorithm of robot based on recording move direction[J].Journal of Wuhan institute of technology,2013,35(4):66-71.

        [3]靳巖,姚尚朗.Android開發(fā)入門與實踐[M].北京:人民郵電出版社,2009.

        [4]楊瀟亮.基于安卓操作系統(tǒng)的應(yīng)用軟件開發(fā)[J].電子制作,2014(19):45-46. YANG X L.Application software development based on Android operating system[J].Practical electronics,2014(19):45-46.

        [5]施連敏,蓋之華.基于Android的百度地圖應(yīng)用的搭建[J].技術(shù)與市場,2014,21(12):34-35. SHI L M,GAI Z H.The building of Baidu map application based on Android[J].Technology and market,2014,21(12):34-35.

        [6]張波,趙雙明.基于Android平臺的百度地圖開發(fā)研究[J].軟件導刊,2015,14(7):96-98. ZHANG B,ZHAO S M.Baidu map development research based on Android[J].Software guide,2015, 14(7):96-98.

        [7]張燕兵.Android手機定位與地圖設(shè)計與實現(xiàn)[D].長春:吉林大學,2013.

        [8]Android移動應(yīng)用基礎(chǔ)教程[M].北京:中國鐵道出版社,2015.

        [9]孫迪,李沛鴻.百度地圖API在WebGIS中的應(yīng)用[J].河南科技,2013,11(22):165-166. SU D,LI P H.Application of Baidu map API in WebGIS[J].JournalofHenanscienceand technology,2013,11(22):165-166.

        [10]潘偉洲,陳振洲,李興民.基于人工神經(jīng)網(wǎng)絡(luò)的百度地圖坐標解密方法[J].計算機工程與應(yīng)用,2014,50(17):110-113. PAN W Z,CHEN Z Z,LI X M.Decryption method of Baidumap'scoordinatesbasedonartificialneural network[J].Computer engineering and applications,2014,50(17):110-113.

        [11]朱根榮.百度地圖API應(yīng)用數(shù)例[J].電腦編程技巧與維護,2013(23):29-33. ZHU G R.Application examples of Baidu maps API[J].Computer programming skills and maintenance,2013(23):29-33.

        [12]付林,閆強,李祥.基于百度地圖的小區(qū)域?qū)Ш綄崿F(xiàn)方案研究[J].計算機技術(shù)與發(fā)展,2014,24(5):223-226. FU L,YAN Q,LI X.Research on small area naviga?tion based on baidu maps[J].Computer technology and development,2014,24(5):223-226.

        [13]鄭偉.基于Android的百度地圖車輛定位系統(tǒng)設(shè)計與實現(xiàn)[D].呼和浩特:內(nèi)蒙古大學,2014.

        [14]王紅崧,周海晏.基于百度地圖API的旅游地理信息系統(tǒng)開發(fā)[J].現(xiàn)代計算機,2012(23):60-63. WANG H S,ZHOU H Y.Development of tourism geographic information system based on Baidu map API[J].Modern computer,2012(23):60-63.

        [15]肖文漢,吳孝斌,曹瑩瑩,等.基于百度地圖API的停車場查尋系統(tǒng)的設(shè)計[J].計算機技術(shù)與發(fā)展,2014,24(4):227-229. XIAO W H,WU X B,CAO Y Y,et al.Design of finding parking system based on Baidu Map API[J]. Computer technology and development,2014,24(4):227-229.

        本文編輯:陳小平

        Implementation of Multi-Function Baidu Map Based on Android

        FENG Xiancheng1,2,ZHOU Mi1,XU Chuan1
        1.School of Electrical and Information Engineering,Wuhan Institute of Technology,Wuhan 430205,China;
        2.Hubei Key Laboratory of Intelligent Robot(Wuhan Institute of Technology),Wuhan 430205,China

        Based on the theories of Mercator projection and A*algorithm,a set of Baidu map plan was designed by using the methods of three core classes of Baidu map application program interface—SDK Initializer,MapView and BaiduMap.First,the key application and manifest configuration were completed,and then the base class BaseActivity was defined to complete the pre-operation such as the initialization of map interface and the calling of life cycle's method.By which the multi-function Baidu map was developed and the basic functions of map browsing,specified location search,route planning,positioning,etc.were implemented.The results indicate that the multi-function Baidu map has better portability,practicality and popularization,satisfying the users'requirement of search and location.

        Android;baidumap;A*algorithm;searching

        TP317

        A

        10.3969/j.issn.1674?2869.2016.05.015

        1674-2869(2016)05-0490-05

        2016-06-11

        住房和城鄉(xiāng)建設(shè)部科研項目(2015-R3-007)

        馮先成,碩士,副教授.E-mail:2023347921@QQ.com

        猜你喜歡
        基類覆蓋物百度
        不同覆蓋物對絲栗栲種子發(fā)芽特性的影響
        防護林科技(2023年5期)2023-09-28 01:21:28
        討論不同覆蓋物處理對雜草和容器苗生長的影響
        建材與裝飾(2023年9期)2023-03-21 06:40:06
        基于C#面向?qū)ο蟪绦蛟O(shè)計的封裝、繼承和多態(tài)分析
        Robust adaptive UKF based on SVR for inertial based integrated navigation
        不同覆蓋物對紅松播種育苗的影響
        百度年度熱搜榜
        青年與社會(2018年2期)2018-01-25 15:37:06
        空戰(zhàn)游戲設(shè)計實例
        有機地表覆蓋物在林地中的景觀評價體系研究
        百度遭投行下調(diào)評級
        IT時代周刊(2015年8期)2015-11-11 05:50:22
        一種基于用戶興趣的STC改進算法
        服裝學報(2015年1期)2015-10-21 01:20:30
        国产人妻久久精品二区三区老狼| 亚洲精品国产第一区二区尤物| 欧美中文在线观看| 少妇高潮无码自拍| 日韩有码在线一区二区三区合集| 国产av国片精品有毛| 色翁荡息又大又硬又粗又视频图片| 精品久久综合一区二区| 久久精品国产亚洲av专区| 久久久久人妻精品一区二区三区 | 邻居少妇张开腿让我爽视频| 日日噜噜夜夜狠狠久久无码区| 亚洲熟妇丰满多毛xxxx| 国产成人无码免费视频在线 | 一级做a爰片久久毛片| 亚洲一区二区三区偷拍自拍| 日韩有码中文字幕在线观看| 国产中文字幕乱人伦在线观看| 激情五月婷婷综合| 黄色视频免费在线观看| 久久久国产精品免费无卡顿| 亚洲一区二区三区18| 18国产精品白浆在线观看免费 | 欧美大香线蕉线伊人久久| 国产不卡视频一区二区在线观看| 麻豆视频av在线观看| 国产亚av手机在线观看| 久久亚洲国产精品成人av秋霞| 亚洲av综合色区久久精品天堂 | 亚洲综合无码一区二区三区| 中文字幕一区二区网站| 日本一区三区三区在线观看| 最近免费mv在线观看动漫| 天天狠天天透天干天天| 精品日韩一区二区三区av| 极品少妇hdxx麻豆hdxx| 国内露脸中年夫妇交换| 亚洲一区二区av偷偷| 欧美国产激情18| 少妇被躁爽到高潮无码文| 国产西西裸体一级黄色大片|