智能終端軟件開發(fā)報(bào)告_第1頁
智能終端軟件開發(fā)報(bào)告_第2頁
智能終端軟件開發(fā)報(bào)告_第3頁
智能終端軟件開發(fā)報(bào)告_第4頁
智能終端軟件開發(fā)報(bào)告_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 智能終端軟件開發(fā)設(shè)計(jì)報(bào)告班 級: 116112 姓 名:劉佳慧(20111001971)周林(20111001954) 指導(dǎo)老師: 徐戰(zhàn)亞 中國地質(zhì)大學(xué)(武漢)信息工程學(xué)院 2014年1月一、 項(xiàng)目背景和意義尿急是一個(gè)麻煩的問題,每個(gè)人都可能遇到,然而在陌生環(huán)境中強(qiáng)忍內(nèi)急苦苦尋找?guī)遣簧偃硕荚羞^的尷尬經(jīng)歷。當(dāng)然,把千辛萬苦找到的廁所標(biāo)記出來,讓更多的人輕松的找到,是再好不過了。所以我們設(shè)計(jì)并開發(fā)了一款可以快速定位附近公廁,打發(fā)蹲坑時(shí)間的實(shí)用好玩的基于android的手機(jī)軟件窩粑粑。二、 軟件簡介軟件架構(gòu)1、 界面設(shè)計(jì)采用了新穎的win8風(fēng)格的界面,主頁面布局了軟件的幾個(gè)主要功能。頁面可

2、以側(cè)滑,側(cè)滑后是賬戶界面和軟件維護(hù)界面。 2、 軟件功能周邊的坑:廁所的具體位置用經(jīng)緯度坐標(biāo)表示并且在地圖上顯示出來,用戶還可以自定義搜索的范圍,更快更高效的尋找合適的廁所,同時(shí)還有導(dǎo)航功能,使用戶在陌生的環(huán)境中也能快速的找到廁所。 我發(fā)現(xiàn)的坑:用戶可以將已找到的廁所地址信息上傳到在線地圖并標(biāo)記,方便自己方便他人。 廁所的前世今生:廁所文化是一個(gè)很寬泛的話題,古今中外都有不同的看法,這里介紹了廁所文化的由來和一些歷史上關(guān)于廁所的趣聞軼事。廁所是使人放松、振奮和感到享受的圣地。人們必須關(guān)注所有公共廁所設(shè)施的更新改造,使人們的生活質(zhì)量不斷提高。一個(gè)良好的廁所環(huán)境體現(xiàn)了對于使用者的尊重,反過來,使用

3、者也會(huì)尊重它,這樣,人們的舉止也相應(yīng)地變得越來越文明。 萌馬桶:隨著科技的發(fā)展和生活水平的提高,人們對生活環(huán)境的要求也越來越高,在舒適健康的前提下,新奇有趣的造型更能令人們身心愉快。這里展示了最近幾年的高科技新型馬桶和一些世界各地的趣味馬桶。廁所有鬼:在一些影視作品和民間傳說中,廁所是十分容易鬧鬼的一個(gè)場所??膳碌母阈Φ陌г沟母鞣N鬼怪故事讓人害怕之余又忍不住想探究更多,在此奉上幾篇經(jīng)典鬼故事,因?yàn)槭菍?shí)習(xí)作業(yè),時(shí)間和能力有限搜集的鬼故事不是很多。 手紙的學(xué)問:衛(wèi)生紙雖然不起眼,但談起衛(wèi)生紙生產(chǎn)廠家的數(shù)量,單單就北京就有97家之多,如此驚人的數(shù)量,行業(yè)競爭的激烈程度,可見一斑。如此激烈的行業(yè)競爭,

4、衛(wèi)生紙的品質(zhì)更是參差不齊,然而,這衛(wèi)生紙里又有多少玄機(jī)呢?這里告訴大家選購衛(wèi)生紙的基本常識和一些實(shí)惠安全的衛(wèi)生紙品牌。 粑粑好才是真的好:糞便是最能直接反應(yīng)消化系統(tǒng)各器官組織功能狀況的一面“鏡子”,大便的形態(tài)顏色可以“隱喻”我們身體的一些病理變化。這里簡單的闡述了其間的相應(yīng)關(guān)系。3、技術(shù)難點(diǎn)和介紹主要用到的技術(shù)有andriod移動(dòng)開發(fā)技術(shù)、百度地圖android SDK的使用和android服務(wù)端相應(yīng)功能應(yīng)用。選擇Android操作系統(tǒng)Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。尚未有統(tǒng)一

5、中文名稱,中國大陸地區(qū)較多人使用“安卓”或“安致”。Android操作系統(tǒng)最初由Andy Rubin開發(fā),主要支持手機(jī)。 2005年8月由Google收購注資。2007年11月,Google與84家硬件制造商、軟件開發(fā)商及電信營運(yùn)商組建開放手機(jī)聯(lián)盟共同研發(fā)改良 Android系統(tǒng)。隨后Google以Apache開源許可證的授權(quán)方式,發(fā)布了Android的源代碼。第一部Android智能手機(jī)發(fā)布于2008 年10月。Android逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上,如電視、數(shù)碼相機(jī)、游戲機(jī)等。2011年第一季度,Android在全球的市場份額首次超過塞班系統(tǒng),躍居全球第一。 2012年11月數(shù)據(jù)顯示

6、,Android占據(jù)全球智能手機(jī)操作系統(tǒng)市場76%的份額,中國市場占有率為90%。2013年09月24日谷歌開發(fā)的操作系統(tǒng)Android在迎來了5歲生日,全世界采用這款系統(tǒng)的設(shè)備數(shù)量已經(jīng)達(dá)到10億臺。當(dāng)前的Android操作系統(tǒng)具有以下幾個(gè)功能:顯示布局:Android操作系統(tǒng)支持更大的分辨率,VGA,2D顯示,3D顯示都給予OpenGL ES 3.0標(biāo)準(zhǔn)規(guī)格(4.3版本開始支持OpenGL ES 3.0),并且支持傳統(tǒng)的智能手機(jī)。數(shù)據(jù)存儲:Android操作系統(tǒng)內(nèi)置SQLite小型關(guān)聯(lián)式資料庫管理系統(tǒng)來負(fù)責(zé)存儲數(shù)據(jù)。網(wǎng)絡(luò):Android操作系統(tǒng)支持所有的網(wǎng)絡(luò)制式,包括GSM/EDGE、IDE

7、N、CDMA、EV-DO、UMTS、Bluetooth、Wi-Fi、LTE、NFC和WiMAX。信息:作為原設(shè)計(jì)給智能手機(jī)使用的操作系統(tǒng),Android操作系統(tǒng)原生支持短信和郵件,并且支持所有的云信息和服務(wù)器信息。語言:Android操作系統(tǒng)支持多語言。瀏覽器:Android操作系統(tǒng)中內(nèi)置的網(wǎng)頁瀏覽器基于WebKit核心,并且采用了Chrome V8引擎。在Android 4.0內(nèi)置的瀏覽器測試中,HTML5和Acid3故障處理中均獲得了滿分,并且于2.2版及之后能原生支持Flash,4.0版本后去除對Flash的支持。支持Java:雖然Android操作系統(tǒng)中的應(yīng)用程序大部分都是由Java編

8、寫的,但是Android卻是以轉(zhuǎn)換為Dalvik executables的文件在Dalvik虛擬機(jī)上運(yùn)行的。由于Android中并不自帶Java虛擬機(jī),因此無法直接運(yùn)行Java程序。不過Android平臺上提供了多個(gè)Java虛擬機(jī)供用戶下載使用,安裝了Java虛擬機(jī)的Android系統(tǒng)可以運(yùn)行Java_ME的程序。媒體支持:Android操作系統(tǒng)本身支持以下格式的音頻/視頻/圖片媒體:WebM、H.263, H.264(in 3GP or MP4 container)、MPEG-4 SP、AMR, AMR-WB(in 3GP container)、AAC, HE-AAC(in MP4 or 3

9、GP container)、MP3、MIDI、Ogg Vorbis、FLAC、WAV、JPEG、PNG、GIF、BMP。如果用戶需要播放更多格式的媒體,可以安裝其他第三方應(yīng)用程序。流媒體支持:Android操作系統(tǒng)支持RTP/RTSP(3GPP PSS, ISMA)的流媒體以及(HTML5 <video>)的流媒體,同時(shí)還支持Adobe的Flash,在安裝了RealPlayer之后,還支持蘋果公司的流媒體。硬件支持:Android操作系統(tǒng)支持識別并且使用視頻/照片攝像頭,多點(diǎn)電容/電阻觸摸屏,GPS,加速計(jì),陀螺儀,氣壓計(jì),磁強(qiáng)計(jì),鍵盤,鼠標(biāo),USB Disk,專用的游戲控制器,體

10、感控制器,游戲手柄,藍(lán)牙設(shè)備,無線設(shè)備,感應(yīng)和壓力傳感器,溫度計(jì),加速2D位位塊傳輸(硬件方向,縮放,像素格式轉(zhuǎn) 換)和3D圖形加速。多點(diǎn)觸控:Android支持本地的多點(diǎn)觸摸,在最初的HTC Hero智能手機(jī)上即有這個(gè)功能。該功能是內(nèi)核級別(為了避免對蘋果公司的觸摸屏技術(shù)造成侵權(quán))。藍(lán)牙:Android支持A2DP,AVRCP,發(fā)送文件(OPP),訪問電話簿(PBAP),語音撥號和發(fā)送智能手機(jī)之間的聯(lián)系。同時(shí)支持鍵盤,鼠標(biāo)和操縱桿(HID)。多任務(wù)處理:Android操作系統(tǒng)支持本地的多任務(wù)處理。語音功能:除了支持普通的電話通話之外,Android操作系統(tǒng)從最初的版本開始就支持使用語音操作來

11、使用Google進(jìn)行網(wǎng)頁搜索等功能。而從Android OS v2.2開始,語音功能還可以用來輸入文字、語音導(dǎo)航等功能。無線共享功能:Android操作系統(tǒng)支持用戶使用本機(jī)充當(dāng)“無線路由器”,并且將本機(jī)的網(wǎng)絡(luò)共享給其他智能手機(jī),其他機(jī)器只需要通過WiFi查找到共享的無線熱點(diǎn),就可以上網(wǎng)。而在Android OS v2.2版本之前的操作系統(tǒng)則需要通過第三方應(yīng)用或者其他定制版系統(tǒng)來實(shí)現(xiàn)這個(gè)功能。截圖功能:從Android OS v4.0版本開始,Android操作系統(tǒng)便支持截圖功能,該功能允許用戶直接抓取智能手機(jī)屏幕上的任何畫面,用戶還可以通過編輯功能對截圖進(jìn)行處理,還 可以通過藍(lán)牙/E-mail

12、/微博/共享等方式發(fā)送給其他用戶或者上傳到網(wǎng)絡(luò)上,也可以拷貝到計(jì)算機(jī)中選擇百度地圖android SDK當(dāng)初在谷歌地圖和百度地圖之前選擇了好久,最后選擇了百度地圖。這里結(jié)合受眾反映針對android版的百度地圖作出了一些分析:1、界面:百度地圖很多都是在顯眼位置用文字做提示,一目了然,谷歌界面有點(diǎn)炫,很多用圖標(biāo)來表示,但是用起來相對復(fù)雜,不熟悉的用戶需要確定這個(gè)圖標(biāo)是否是所需要選擇的。 而百度地圖搜索框下就直接有“公交”“駕車”的選項(xiàng),界面簡潔直接很多,谷歌地圖需要點(diǎn)擊獲取路線,再點(diǎn)擊小圖標(biāo)來選擇“公交”這些選項(xiàng),而且圖標(biāo)不夠引 人注目,使用起來相對復(fù)雜些,試想一個(gè)很少用網(wǎng)絡(luò)地圖的人分別使用二

13、者地圖,那個(gè)更方便呢?應(yīng)該是百度,大多數(shù)用戶通過地圖是查詢位置-這個(gè)地方在哪,周 圍有什么地物,查詢路線-從一個(gè)方到另一個(gè)地方如何到達(dá),用百度地圖,這些問題很容易解決,而用谷歌地圖得擺弄一會(huì)兒。 2、百度地圖的查詢路線更好,首先還是界面更簡潔直接,然后是數(shù)據(jù)的問題,先不管為他們提供數(shù)據(jù)的公司如何,剛剛特意同時(shí)查了下,同樣地起點(diǎn)和終點(diǎn),百度地 圖給出了5條路線,谷歌地圖給出的是4條路線,而且百度地圖路線的選擇時(shí)可以選擇“較快捷”“少換乘”“少步行”三種方式,更方便。打車費(fèi)用也直接顯示出 來,而且個(gè)人體會(huì)10元內(nèi)的打車費(fèi)用基本正確。 3、百度地圖有個(gè)視野內(nèi)搜索功能,可以很方便地查找到目標(biāo)位置,谷歌

14、地圖沒有。這個(gè)很重要。 4、一個(gè)重要界面布局問題,百度地圖是地圖視野在左,而谷歌地圖是地圖視野在右,我們現(xiàn)在時(shí)喜歡從左到右看東西啊,這點(diǎn)百度地圖更符合用戶習(xí)慣。 (當(dāng)然也可能是我常用百度地圖,所以這么覺得) 5、百度地圖已經(jīng)和都市圈合作推出了部分城市如北京、上海、深圳、廣州的三維地圖,谷歌地圖沒有。 6、百度地圖地圖視野上方有個(gè)截圖功能,可以直接拉框截圖,谷歌地圖沒有。 7、使用百度的占大多數(shù),經(jīng)??梢月牭健鞍俣纫幌掳 钡脑捳Z。隨之帶來百度地圖的使用率 也相對較高。劣勢: 1、如果需要從網(wǎng)絡(luò)地圖上獲取數(shù)據(jù)的話,谷歌地圖完勝,而且還有谷歌地球在一旁輔助,如虎添翼,從網(wǎng)上各種各樣的谷歌地圖相關(guān)工具

15、軟件就可以看出。 2、路線查詢時(shí)輸入地點(diǎn)名稱卻有多個(gè)符合條件時(shí),會(huì)給出一個(gè)下拉菜單給予選擇,同一地點(diǎn)谷歌地圖提供的數(shù)據(jù)精確到街道,而百度地圖精確到區(qū)。 3、谷歌地圖可以將側(cè)邊欄隱藏起來,看到更大的地圖視野,而百度地圖是點(diǎn)擊全屏來顯示更大的視野,兩種切換方式比起來谷歌的更舒服。 4、谷歌地圖的分享鏈接提供“粘貼 HTML 以便嵌入到網(wǎng)站”這一功能,百度沒有。 5、界面布局百度地圖更簡潔,但是色彩搭配上和畫面感上谷歌地圖更好。 6、谷歌的品牌形象占優(yōu)。Android服務(wù)端開發(fā)XML與JSON 解析:JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。它基于

16、JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個(gè)子集。 JSON采用完全獨(dú)立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C, C+, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成。Servlet:servlet是在服務(wù)器上運(yùn)行的小程序。這個(gè)詞是在Java applet的環(huán)境中創(chuàng)造的,Java applet是一種當(dāng)作單獨(dú)文件跟網(wǎng)頁一起發(fā)送的小程序,它通常用于在客戶端運(yùn)行,結(jié)果得到為用戶進(jìn)行

17、運(yùn)算或者根據(jù)用戶互作用定位圖形等服務(wù)。服務(wù)器上需要一些程序,常常是根據(jù)用戶輸入訪問數(shù)據(jù)庫的程序。這些通常是使用公共網(wǎng)關(guān)接口(CGI(Common Gateway Interface))應(yīng)用程序完成的。然而,在服務(wù)器上運(yùn)行Java,這種程序可使用Java編程語言實(shí)現(xiàn)。在通信量大的服務(wù)器上,Javaservlet的優(yōu)點(diǎn)在于它們的執(zhí)行速度更快于CGI程序。各個(gè)用戶請求被激活成單個(gè)程序中的一個(gè)線程,而無需創(chuàng)建單獨(dú)的進(jìn)程,這意味著服務(wù)器端處理請求的系統(tǒng)開銷將明顯降低。MySQL數(shù)據(jù)庫:MySQL是一個(gè)開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。MySQL被廣泛地應(yīng)用在Inter

18、net上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。由于時(shí)間以及人力有限,服務(wù)器端尚未將開發(fā)方案付諸實(shí)踐,為便于客戶端程序的測試,采用sqlite數(shù)據(jù)庫存儲數(shù)據(jù)。三、 程序設(shè)計(jì)實(shí)現(xiàn)軟件功能模塊實(shí)現(xiàn):主頁面:布局文件:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" xmlns:tools=" android:layout_wid

19、th="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" tools:context=".MainActivity" > <LinearLayout android:id="+id/menu" android:layout_width="match_parent" android:layout_height="match_parent&quo

20、t; android:background="drawable/menu_background" android:orientation="vertical" > <RelativeLayout android:id="+id/rl_right_fragment" android:layout_width="match_parent" android:layout_height="60dp" android:padding="5dp" > <Image

21、View android:id="+id/left_menu_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:background="drawable/conversation_bg_logo" /> <LinearLayout android:layout_width="wrap_c

22、ontent" android:layout_height="match_parent" android:layout_alignTop="+id/left_menu_image" android:layout_centerHorizontal="true" android:gravity="center_vertical" android:orientation="vertical" > <TextView android:id="+id/tv_fight_fr

23、agment_login" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:textColor="#FFFFFF" android:text="登錄賬號" /> <TextView android:id="+id/tv_fight_fragment_login_more" android:l

24、ayout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:ellipsize="end" android:singleLine="true" android:textColor="#FFFFFF" android:text="登錄后,精彩內(nèi)容等你發(fā)現(xiàn)" /> </LinearLayout> </R

25、elativeLayout> <ImageView android:layout_width="match_parent" android:layout_height="1dp" android:background="color/black" /> <ListView android:id="+id/listview" android:layout_width="match_parent" android:layout_height="match_parent

26、" /> </LinearLayout> <LinearLayout android:id="+id/content" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000000" android:paddingBottom="dimen/activity_vertical_margin" android:paddingL

27、eft="dimen/activity_horizontal_margin" android:paddingRight="dimen/activity_horizontal_margin" android:paddingTop="dimen/activity_vertical_margin" tools:context=".MainActivity" > <!- 1 -> <LinearLayout android:layout_width="0dip" android:

28、layout_height="fill_parent" android:layout_weight="1" android:orientation="vertical" android:padding="5dip" > <ImageView android:id="+id/zhoubian_img" android:layout_width="fill_parent" android:layout_height="140dp" android:

29、layout_marginTop="20dip" android:background="drawable/pink" android:gravity="top" android:padding="5dip" android:textSize="15dip" /> <ImageView android:id="+id/ceshuo_img" android:layout_width="fill_parent" android:layout_he

30、ight="140dp" android:layout_marginTop="15dip" android:background="drawable/orange" android:gravity="top" android:padding="5dip" android:textSize="15dip" /> <ImageView android:id="+id/shouzhi_img" android:layout_width="f

31、ill_parent" android:layout_height="140dip" android:layout_marginTop="15dip" android:background="drawable/green" android:gravity="top" android:padding="5dip" android:textSize="15dip" /> </LinearLayout> <!- 2 -> <Linear

32、Layout android:layout_width="0dip" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="vertical" android:padding="5dip" > <ImageView android:id="+id/mengmatong_img" android:layout_width="fill_parent

33、" android:layout_height="78dp" android:layout_marginTop="20dip" android:background="drawable/purple" android:gravity="top" android:padding="10dip" android:textColor="#ffffff" android:textSize="15dip" /> <ImageView andro

34、id:id="+id/wofaxian_img" android:layout_width="fill_parent" android:layout_height="115dp" android:layout_marginTop="15dip" android:background="drawable/blue" android:gravity="top" android:padding="5dip" android:textSize="15di

35、p" /> <ImageView android:id="+id/ghost_img" android:layout_width="fill_parent" android:layout_height="75dip" android:layout_marginTop="15dip" android:background="drawable/bluegreen" android:gravity="top" android:padding="5di

36、p" android:textColor="#ffffff" android:textSize="15dip" /> <ImageView android:id="+id/baba_img" android:layout_width="fill_parent" android:layout_height="137dp" android:layout_marginTop="15dip" android:background="drawable/y

37、ellow" android:gravity="top" android:padding="5dip" android:textSize="15dip" /> </LinearLayout> </LinearLayout></LinearLayout>周邊的坑:廁所的具體位置用經(jīng)緯度坐標(biāo)表示并且在地圖上顯示出來,用戶還可以自定義搜索的范圍,更快更高效的尋找合適的廁所,同時(shí)還有導(dǎo)航功能,使用戶在陌生的環(huán)境中也能快速的找到廁所。代碼實(shí)現(xiàn):public class SearchPOI_Ac

38、tivity extends Activity DBAdapter GeoPoiDB;private int distance=0;/ 地圖顯示相關(guān)private MapView mMapView = null;/ 地圖顯示圖層private MKSearch mSearch = null; / 搜索模塊,也可去掉地圖模塊獨(dú)立使用private MapController mMapController = null;/ 地圖控制private MyPoiOverlay poiOverlay = null;/ 搜索結(jié)果圖層/ 定位相關(guān)LocationClient mLocClient;Locat

39、ionData locData = null;public MyLocationListenner myListener = new MyLocationListenner();/ 定位圖層MyLocationOverlay myLocationOverlay = null;/ 定位圖層boolean isRequest = false;/ 是否手動(dòng)觸發(fā)請求定位boolean isFirstLoc = true;/ 是否首次定位private GeoPoint mGeoPoint;/當(dāng)前位置變量private GeoPoint endGeoPoint;/ 自定義坐標(biāo)點(diǎn)poi相關(guān)private

40、MyOverlay mOverlay = null;/ 自定義poi圖層private PopupOverlay pop = null;/ 彈出圖層private ArrayList<OverlayItem> mItems = null;private ArrayList<String> mPoiMSG = null;private TextView popupText = null;private View viewCache = null;private View popupInfo = null;private View popupLeft = null;priv

41、ate View popupRight = null;private Button button = null;private MapView.LayoutParams layoutParam = null;private OverlayItem mCurItem = null;/ UI相關(guān)private Button requestLocBtn;Button map_bigger = null;/ 地圖放大按鈕Button map_smaller = null;/ 地圖縮小按鈕private int maxZoomLevel;private int minZoomLevel;String S

42、earchKeyTex = "廁所"private EditText SearchDistance;int mapstyle = 0;Overridepublic boolean onCreateOptionsMenu(Menu menu) / TODO 自動(dòng)生成的方法存根/ 第一個(gè)參數(shù)是menugroup值;第二個(gè)參數(shù)是每個(gè)menu的值,int類型;第三個(gè)參數(shù)表示menu顯示的順序;第四個(gè)參數(shù)是menu的顯示內(nèi)容menu.add(0, 1, 1, "實(shí)景地圖").setIcon(R.drawable.changemap);menu.add(0, 2,

43、2, "搜索").setIcon(R.drawable.searchpoi);return super.onCreateOptionsMenu(menu);Overridepublic boolean onMenuItemSelected(int featureId, MenuItem item) / TODO 自動(dòng)生成的方法存根if (item.getItemId() = 1) if (mapstyle = 0) mMapView.setSatellite(true);mapstyle = 1;item.setTitle("二維地圖"); else m

44、MapView.setSatellite(false);mapstyle = 0;item.setTitle("實(shí)景地圖"); else if (item.getItemId() = 2) distance=getDistance();mSearch.poiSearchNearBy(SearchKeyTex, mGeoPoint,distance);addPoitoListArr(null);resetOverlay(null);return super.onMenuItemSelected(featureId, item);Overridepublic void onCr

45、eate(Bundle savedInstanceState) super.onCreate(savedInstanceState);DemoApplication app = (DemoApplication) this.getApplication();if (app.mBMapManager = null) app.mBMapManager = new BMapManager(this);app.mBMapManager.init(DemoApplication.strKey,new DemoApplication.MyGeneralListener();setContentView(R

46、.layout.activity_poisearch);CharSequence titleLable = "周邊的坑"setTitle(titleLable);GeoPoiDB = new DBAdapter(this);mItems = new ArrayList<OverlayItem>();/ 地圖初始化mMapView = (MapView) findViewById(R.id.bmapView);mMapController = mMapView.getController();mMapController.enableClick(true);/mM

47、apView.setBuiltInZoomControls(true);mMapView.getController().setZoom(15);/ 定位初始化mLocClient = new LocationClient(this);locData = new LocationData();mLocClient.registerLocationListener(myListener);LocationClientOption option = new LocationClientOption();option.setOpenGps(true);/ 打開gpsoption.setCoorTyp

48、e("bd09ll"); / 設(shè)置坐標(biāo)類型option.setScanSpan(1000);mLocClient.setLocOption(option);mLocClient.start();/ 定位圖層初始化myLocationOverlay = new MyLocationOverlay(mMapView);/ 設(shè)置定位數(shù)據(jù)myLocationOverlay.setData(locData);/ 添加定位圖層myLocationOverlay.enableCompass();/ 初始化搜索模塊,注冊搜索事件監(jiān)聽mSearch = new MKSearch();MKSe

49、arch.setPoiPageCapacity(50);/設(shè)置次顯示50個(gè)搜索結(jié)果mSearch.init(app.mBMapManager, new MKSearchListener() Overridepublic void onGetPoiResult(MKPoiResult res, int type, int error) / 錯(cuò)誤號可參考MKEvent中的定義if (error != 0 | res = null) /Toast.makeText(SearchPOI_Activity.this, "抱歉,未找到結(jié)果",/Toast.LENGTH_LONG).sh

50、ow();return;/ 將poi結(jié)果顯示到地圖上poiOverlay = new MyPoiOverlay(SearchPOI_Activity.this,mMapView, mSearch);poiOverlay.setData(res.getAllPoi();/ 獲取所有poi搜索結(jié)果mMapView.getOverlays().clear();addOverlays();mMapView.refresh(););requestLocBtn = (Button) findViewById(R.id.locationbtn);map_bigger = (Button) findViewB

51、yId(R.id.poi_mapbiggerbtn);map_smaller = (Button) findViewById(R.id.poi_mapsmallerbtn);map_bigger.setOnClickListener(new OnClickListener() public void onClick(View v) controlMapView(true););map_smaller.setOnClickListener(new OnClickListener() public void onClick(View v) controlMapView(false););reque

52、stLocBtn.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / 手動(dòng)定位請求requestLocClick(););/ 初始化自定義overlyinitOverlay();/ 添加所有overlay到MapView中addOverlays();/* * 刷新地圖 */mMapView.refresh(); initWheel(R.id.passw_2); initWheel(R.id.passw_3); initWheel(R.id.passw_4); initWheel(R.id.passw_5); 我發(fā)現(xiàn)的坑:用戶可以將已找到的廁所地址信息上傳到在線地圖并標(biāo)記,方便自己方便他人。代碼實(shí)現(xiàn):public class Location_Activit

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論