




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
畢業(yè)論文論文題錄----手機地圖吳江東太湖旅游景點專業(yè):軟件1班學號:姓名:摘要現在我們每天早上起來很多人的第一個習慣就是找我們手機在哪里,手機也是我們生活中不能少的工具了,很多人不習慣沒有手機的日子了,走到哪塊都是拿著的,當然現在的時代變換的也快,從幾年前的手機還是只能給家人朋友打電話到現在可以一起在網上打游戲了,這個的變換是太快了。很多人都喜歡旅游去哪里哪里玩,現在我們的工作壓力大了,放松自身的心情是不可能少的,這個就要放幾天的小長假去哪里玩耍呢?但是玩耍你要知道地方,知道路況和周圍的環(huán)境什么的,這個就牽涉到我這次的畢業(yè)論文了-----手機的導航!現在我們發(fā)展的是很快的移動通訊和因特網的相互結合下,GPS導航的系統(tǒng)大家都很熟悉了,無論去哪里玩耍手機的導航是不能少的,Symbian系統(tǒng)的開始被這個世界淘汰的同時,安卓的越來越強大,有很大部分的人都在使用,比起蘋果的,安卓現在還是我們所能接觸到的,現在我們用安卓的手機,里面的手機軟件地圖我相信大家都會安裝一個,百度地圖,搜狗地圖,高德扥等,這些都是大家所熟悉的了,現在我就設計的東太湖的手機地圖,用的是手機地圖百度的,我就看百度的手機地圖來制作個,作用就是能夠放大東太湖這邊的風景,路線,周圍的酒店,小吃等等,同時也是可以用3個效果圖給大家看,能夠以不用的視覺,給你最好的信息,當然安卓手機地圖我感覺還是比較很多發(fā)展的空間和美好的前景的。關鍵詞:安卓東太湖地圖手機導航等。WujiangeasttaihulaketouristattractionsinmobilemapWenoweverymorningafterIgetalotofpeoplewherethefirsthabitistolookforourmobilephone,mobilephoneisalsocannotlittletoolinourlife,manypeoplearenotusedtodaywithoutmobilephones,goisholdingapieceof,ofcourseissoonnowtheeraoftransformation,fromphoneoronlyafewyearsagotocallfriendsandfamilycanplaygamesonthenettogetheruntilnow,thistransformationistoofast.Alotofpeopleliketotravelgowheretoplay,wenowworkpressurebig,relaxoneselfmoodiscannotlittle,thisisgoingtoputafewdaysofsmalllongvacationwheretoplay?Butyouhavetoknowwheretoplay,andknowwhatroadconditionsandthesurroundingenvironment,itinvolvesmygraduationthesisthistime---mobilenavigation!WenowdevelopmentisveryfastunderthecombinationofmobilecommunicationsandtheInternet,GPSnavigationsystemsarefamiliar,nomatterwhereyougoplaymobilenavigationisnotlittle,thebeginningoftheSymbiansystemwaseliminatedbytheworldatthesametime,theandroidisgettingstrongerandstronger,thereisabigpartofpeopleareinuse,comparedwithapple,androidnoworwecancomeintocontactwith,nowweusetheandroidmobilephone,theinsideofthemobilephonesoftwareIbelieveeveryonewillinstallamap,mapofbaidu,sogoumap,Scott扥etc.,theseareallfamiliar,nowIwilldesigntheeasttaihulakemobilemap,usingamobilephonemapofbaidu,Iseebaidumobilemaptocreatearoleistheabilitytozoomineasttaihulakesceneryhere,route,aroundthehotel,snacksandsoon,alsocanuse3renderingsforeveryonetosee,tobewithoutvision,giveyouthebestinformation,androidmaps,ofcourse,Ifeelisalotofdevelopmentspaceandgoodprospects.Keywords:androidMapofeasttaihulakeMobilephonenavigation,etc.我們的目標就是要做出這樣的效果圖,這里,我們可以看到標記路線綠化等等還有不同的三種方案給我選擇看,周圍的飯店,還有這個圖上沒有顯示的,我們要從A點到B點的路線,我們還要實現點擊標記的1和2要出現現在的地位,這個都要我們去實現。周圍的環(huán)境,我們在哪里,去哪里,在A到B怎么去都可以在這個圖上實現,包括我們怎么放大,地圖,標記點,路線,公交車的站臺等。目錄第一節(jié):研究的意義背景等1.1背景意義1.2重要的內容第二節(jié):設計展示2.1安卓的平臺介紹2.2安卓平臺框架2.3安卓系統(tǒng)環(huán)境和Eclipse組件安裝2.4基于安卓系統(tǒng)東太湖地圖設計2.5GoogleMap的介紹2.6地圖的標記(marke)2.7Mapcontroller對象主要用于對地圖的控制2.8定位系統(tǒng)的搭建2.9定位方式的分類3.0locationprovider3.1Criteria3.2Geocoding第三節(jié):《總結》第四節(jié):《感謝》背景和意義在手機的開始都是2G的網,那個時候安卓系統(tǒng)還不流行,開始大家還在網上看地圖,有的去哪里玩,還是買的地圖小冊,方便路上看,隨著3G時代和安卓平臺猛烈的發(fā)展,手機不單單就是打電話這么簡單了,什么娛樂都可以實現了,現在手機不可缺少的就是地圖了,當然手機的地圖也是在不斷的完善的,不是剛出來就是這么的好,可能就是簡單的題圖而已吧,現在看看,不僅是地圖還有導航,住宿,飯店,景點等等,所以也是一步一步不斷的完善才有今天那么好的效果給我們看。現在手機許多功能都讓我們許多人很難去想象是在很強大,android的系統(tǒng)下的各種應用程序跟新和升級特別快。而代表作谷歌的地圖,谷歌它自己本身的地圖功能使得地圖開發(fā)的進程是很快的,剛開始是需要在自己的電腦注冊下Google的系統(tǒng),但是在我們中國,最大的是百度,它旗下的百度地圖也讓我們見識到不一樣的風格,所以今天我們也是做的是東太湖導航的系統(tǒng),類似百度的手機地圖。安卓的平臺很容易和谷歌的地圖結合起來,但是今天我要做的是和百度地圖結合起來的,要是在安卓的應用中把手機的地圖的應用結合起來,在GPS也用上,是相當好的。其實這就是手機里的位置服務,能準確的掌握的位置,給你生活帶來很大的服務,開始的時候,這款應用其實是在日本得到商業(yè)上的運用,在我們計算機精英下,慢慢的放大化,走進了每個人的手機應用上?,F在我們生活壓力其實很大的,所以要是有什么小長假的,大家還是想出去的走走,要是來吳江東太湖旅游,要是不熟悉的這邊的環(huán)境肯定也是一頭霧水,這個時候最想要的就是有個導航,讓自己方便的確定自己的位置,對于美食的喜歡朋友,肯定也想這位有什么好吃的,晚上也要住旅館住,這個都是問題,也不可能把自己的電腦帶著,或者自己在來前畫地圖,都是不方便,所以說,我們在手機上安裝的地圖,把周圍的環(huán)境都盡收眼底,就是方便在吳江東太湖,這里每年都有外地的游客到這里看太湖的風景,首先你要知道路線怎么走,這個就要依賴手機的導航系統(tǒng),走到哪里都會帶著我們手機,所以我們不僅要看大概的地理位置,還要能夠實現把路況大小,方向問題,包括周圍的壞境等一些問題要看的明明白白的,從而因為我們在看文字的耐心是遠遠不如我們看圖片的,這個時候就要我們就需要把能用文字的地方全部換成圖片,這樣可以看的更清晰,要是不是開車來的,依賴的是走路,和打車,公交這類的,我們的地圖還要實現公交站臺,多少路車在東太湖下等問題意義:最大的意義就是方便!要是旅客來了吳江,來了東太湖看風景,不知道怎么去,周圍的環(huán)境,可以最快,最準,找到自己的位置和周圍的環(huán)境,不能來玩的時候路況不知道,周圍的環(huán)境不清楚,這樣你出來給自己的麻煩事相當大的,還有就是,玩累了,找了旅館休息也是很重要的,東太湖周圍是最近才發(fā)展的,所以你要找住的地方,要在吳江里面找,所以也不能睡馬路,可以選擇露營,為什么安全起見還是能夠找到合適房間睡覺是有必要的,還有就是吳江的美食,來了肯定都會吃點特色,所以找一家特色店,在這次東太湖旅游導航中也是不可少的,這些問題全部要歸為定位系統(tǒng)的準確性,不能有出錯,要不然帶來的問題也很比較嚴重的。研究課題的重要內容本次要完成的任務如下自己位置的跟新定位系統(tǒng),和視角視圖的切換點擊點位按鈕實現當前所在的位置,點擊菜單欄目實現不同視角,根據自己的喜歡選擇不同的角度看2從Q點的位置到P點的位置Q點到P點要有不同的方式去實現,比如說,步行,公交,駕車等這樣的模式3角度不同的角度看路況等,360度旋轉,俯視圖等4公交或者打車的路線查詢根據當地的路線,公交車,公交站,打車等,怎樣去另外一個地方,要全部顯示在地圖上。論文的組織文章分為5個部分介紹的是研究的背景和意義,和研究主題主要思想構思,和內容介紹安卓平臺的結構和我們用到的功能和在環(huán)境下搭建介紹API的申請,和東太背景搭建的配置流程實現以上的功能,展示效果圖看,比如東太湖風景,東太湖的定位,導航的路線等等最后總結下這次論文和設計的感想,學到了什么,什么地方要改進等安卓的平臺介紹分為多種如下圖所示安卓平臺框架安卓的是在Linux系統(tǒng)上搭建的,是采用軟件疊層的方式搭建的。這樣的軟件疊層使得層與層之間相互分開,這樣分工明確,就算上面發(fā)生了變動,下面的層也不會發(fā)現變化,下面的層不需要改變什么。安卓系統(tǒng)主要分為以下3個組成1應用層2安卓庫3Linux內核安卓系統(tǒng)環(huán)境和Eclipse組件安裝基于安卓系統(tǒng)東太湖地圖設計首先要注冊API申請和使用東太湖地圖API申請:地圖移動版API是基于安卓1.5以上的應用程序接口,通過這個接口就可以訪問百度的數據,和服務器,構建功能很多,交互性的很強的應用程序,這里面還提供地圖的定位,路線的規(guī)劃,等等我們可以根據自己想要去選擇。下面是我申請的APIKEY而我的APIkey就申請到應用編號 應用名稱 訪問應用(AK) 應用類別 備注信息(雙擊更改) 5809964 xiaobaitu UFsL9sArHlGmUamUpPCAOCKC 服務端 形成地圖布局的代碼展示<LinearLayoutxmlns:android=/apk/res/androidAndroid:id=”@+id/mainAndroid:layout_width=”fill_padent”Android:layout_height=”fill_padent”>Android:layout_width=”fill_padent”Android:layout_height=”fill_padentAndroid:enabled=”trueAndroid:clickable=”true”Android:apikKEY=”UFsL9sArHlGmUamUpPCAOCKC “MainActivity.javaPackageorg.marsdroid.map01Importandroid.os.Bundle;PublicvoidonCreate(BundlesavedInstanceState){Super.onCreate(savedInstanceState);setContentView(R.layout.main);}ProtectedBooleanisRouteDisplayed(){Returnfalse;}}下面我們運行下的效果如下圖這里我們來介紹一下GoogleMap的介紹1Google是提供一組apl給我們的,我們可以很方便的在應用中添加我們最基本的地圖這樣的功能。Android是將大部分的地圖的功能裝在MapView里面的MapView是通過GoogleMaps的服務弄取數據的,還將它顯示出來MapView提供了一組控件用于地圖的控制現在我們做的只是在手機上顯示我們的總的地圖,我們做的是東太湖的風景區(qū)地圖就可以的,我們需要在地圖放大到東太湖這邊就可以的地圖的標記(marke)下面我們要做的是在地圖上加上標記,因為我們要是在東太湖這里玩,首先就要確定自己的位置在哪里,我們怎么可以直接的看到我們的位置呢,就要用到標記來實現,下面我們就需要講到Overlay這個意思就是我們已經弄好的最基本的地圖,但是現在還要在這里面創(chuàng)建一個層,我們就可以在這個層上添加我們的標記,這樣的話是不干擾下面的地圖層這里我截圖一個圖給老師看下這里我們可以看到有個標記在上面,其實這個是兩個層,一個是Google提供的地圖層,還有一個是個標記,這個是我們添加的,但是這個不是同時在一起的。這兩層疊加起來就是我們看到的。我們現在需要添加圖層的標記。現在我們需要準確的提供標記和我們點擊這個標記給我們看到在具體的位置。我們要實現點擊這個標記要出來東太湖附近的飯店,車站等等,這個就是標記的處理。最大的當然使我們的MapView里面就包含Overlay等Overlay里面也需要包含許多類,這個類就指我們創(chuàng)建的標記等。這個就是我們地圖關系,都是相互包含,Overlay的作用就是幫我們添加。下面是標記的代碼MainActivity.javaPackageorg.marsdroid.mapimportjava.util.ArrayList;importandroid.app.alertdialog;importandroid.app.dialogimportandroid.content.contextimportandroid.graphics.drawable.drawable;importcom.google.android.maps.itemizedoverlay;importcom.google.android.maps.overlayItem//在mapview之上創(chuàng)建一個圖層,需要創(chuàng)建一個類來實現overlay,還要生成這對象,在添加到地圖上。//一個overlayitem對象就代表一個在地圖上顯示的標記publicclassFirstoverlayextendsItemizedoverlay<overlayItem>{//創(chuàng)建一個List對象,用于持有改圖片圖層所有的標記privateArrayList<overlayItem>overlayItems=newarraylist<overlayitem>();privatecontextcontext;//第一個參數用于指定標記所使用的默認圖片publicfirstoverlay(drawabledefaultmarker,contextcontext){//必須調用父類的結構函數super(boundcenterbottom(defaultmarker));this.context=context;}Publicfirstoverlay(drawabledefauitmarker){Super(boundcenterbottom)(defauitmarker));}//用于將生成好的Overlayitem對象添加到list當中Publicvoidaddoverlay(overlayitemoverlay){Overlayitems.add(overlay);Populate();}//用于創(chuàng)建一個Overlayitem對象Protectedoverlayitemcreateitem(inti){//TODOAuto-generatedmethodstubReturnoverlayitems.get(i);}//返回當前的overLAY當中所包含的overlayitem對象Publicintsize(){//TODOAuto-generatedmethodstubReturnoverlayitems.size();}//當用戶點擊標記的時候,所調用的函數ProtectedBooleanonTap(intindex){Overlayitemitem=Overlayitems.get.(index){Alertdialog.builderbuilder=newalertdialog.builder(context);Builder.setTitle(item.getTitle());Builder.setmessage(item.getsnippet());Dialogdialog=builder.create();Dialog.show();Returntrue;}}經緯度的代碼因為我們在定位我們在那里的時候,地圖是給我收到我們所在位置的經緯度,才能都實現定位,只有找到我們每個點的位置,才會顯示當前的位置。MainActivity.javaPackageorg.marasdroid.map02;importjava.util.list;importandroid.graphics.drawable.drawable;importandroid.os.bundle;importcom.google.android.maps.geopoint;importcom.google.android.maps.mapactivity;importcom.google.android.maps.mapview;importcom.google.android.maps.overlay;importcom.google.android.maps.overlayitem;publicclassMainActivityextendsmapactivity{super.oncreate(bunflesacedinseancestate);setcontentview(R.layout.main);mapviewmapview=(mapview)findciewbyid(R.id.mapviewid);//設置mapview顯示用于縮放的工具Mapview.setBuiltinzoomcontrols(true);//調用mapview對象的getoverlays()方法,用戶得到所有的新圖層對象List<overlay>mapoverlays=mapview.getoverlays();Drawabledrawable=getresources().getDrawable(R.drawable.androidmarker)Firstoverlayfirstoverlay=firstoverlay(drawable,this);//創(chuàng)建一個Geopoint對象,通過經緯度,指定地圖上的一個點Geopointpoint=newgeopoint(19240000.-99120000);//創(chuàng)建一個overlayitem對象Overlayitemoverlaytiem=newoverlaytiem(point,”Hola,mundo!”,”IaninSuzhouwujiangcity”);Firstoverlay.addoverlay.(overlayitem);//將Firstoverlay對象,添加到mapoverlays當中Mapoverlays.add(firstoverla);ProtectedBooleanisroutedislayed(){Returnfalse;}privateArrayList<OverlayItem>mOverlays=newArrayList<OverlayItem>();publicHelloItemizedOverlay(DrawabledefaultMarker){super(boundCenterBottom(defaultMarker));}publicvoidaddOverlay(OverlayItemoverlay){mOverlays.add(overlay);populate();}protectedOverlayItemcreateItem(inti){returnmOverlays.get(i);}publicintsize(){returnmOverlays.size();}publicHelloItemizedOverlay(DrawabledefaultMarker,Contextcontext){this(defaultMarker);this.mContext=context;}protectedbooleanonTap(intindex){OverlayItemitem=mOverlays.get(index);AlertDialog.Builderdialog=newAlertDialog.Builder(mContext);dialog.setTitle(item.getTitle());dialog.setMessage(item.getSnippet());dialog.show();returntrue;}A點到B點的導航我們在東太湖旅游景點玩累了,要是想找個旅館休息下,但是人生地不熟只能靠手機導航,這里就需要一段距離來實現,以下是A點到B點的導航的代碼。其實就是在地圖層上加3層,一個是A點的圖層,一個是B點的圖層,還有一個是A到B這個之間的一條直線,當然我們路線不可能是直線的,有不用的彎點,但是我們今天先實現這兩個點之間的直線距離在來實現其他的路線。Packageorg.maesdroid.mo03;Importjava.utik.list;Publicclassmainactivityextendsmapactivity{Privateprojectionprojection;Privatelist<overlay>overlay;Privatemapcontrollermapcontroller;Privategeopointbegingeopoint;Privategeopointendgeopoint;Publicvoidoncrease(bundlesavedinstancestate){Super.oncreate(sacedinstancestate);Setcontentview(R.layout.main);//指定起始和終止位置的經緯度Begingeopoint=newgeopoint(1924000,-99120000);Endgeopoint=newgeopoint(1934000,-99220000);MapviewMapview=(Mapview)findviewbyid(r.id.mapviewid);Mapview.setbuiltinzoomcontrois(true);//Mapcontroller對象主要用于對地圖的控制Mapcontroller=Mapview.getcontroller();Overlays=Mapview.getoverlays();Projection=Mapview.getprojection();Overlays.add(newpointoverlay(begingeopoint));Overlays.add(newpointoverlay(endgeopoint);Overlays.add(newlineoverlay(begingeopoint,endgeopoint));Mapcontroller.animateTo(begingeopoint);Mapcontroller.setzoom(12);)ProtectionBooleanisrouteDisplayed(){Returnfalse;)ClassLineoverlayextendoverlay{Privategeopointbegin;Privategeopointend;PublicLineoverlay(){}PublicLineoverlay(geoPointbegin,geopointend){This.begin=begin;This.end=end;}Publicvoiddraw(canvas,canvas.mapviewmapv,Booleanshadow){Super.draw(canvas,mapv,shadow);Paintpaint=newpaint();Paint.setstyle(paint.style.FILL_AND_STROKE);Paint.setstrokewidth(2);Pointbeginpoint=newpoint();Pointendinpoint=newpoint();Pathpath=newpath();Projection.topixels(begingeopoint,beginpoint);Projection.topixels(endgeopoint,endpoint);Path.moveto(endpoint.xendpoint.y);Path.lineto(beginpoint.xbeginpoint.y);Canvas,drawpath(path,path);}}//該類的作用是在地圖上繪制圖標Classpointoverlayextendsoverlay(Privategeopointgeopoint;Publicpointoverlay(){}Publicpointoverlay(geopointgeopint){This.geopoint=geopoint;}Publicvoiddraw(canvas,mapviewmapv,Booleanshadow){Super.draw(canvas,mapv,shadow);Pointpoint=newpoint();Projection.topixels(geopoint,point);Bitmapbmp=bitmapfactory.decodresource(getresources();R,drawable.tool);Paintpaint=newpaint();Canvas.drawBitmap(bmp,point.x,point.y–16,paint);}}下面介紹下Projection的作用將地圖上的經緯度坐標轉化成屏幕上的x軸和Y軸的坐標Android.graphics.pointtopixels(Geopointin,android.graphicpointout)將X軸和Y軸的坐標轉化成地圖上的經緯度坐標Geopointfrompixels(intX,intY)定位系統(tǒng)的搭建定位顧名思義就是自己的手機在第一時間掌握自己的位置,及時顯示在我們手機上,還有就是在我們移動的時候,定位的系統(tǒng)能夠和我們一起移動,還要反應當前的位置,旁邊的數據,在我們直接到達目的的時候才結束。我記得前幾年的時候,摩托羅拉手機的定位是這樣的,他的定位系統(tǒng)是在世界上發(fā)了許多衛(wèi)星在太空,不管你走到哪里,對!是全世界,他都能有3顆衛(wèi)星在你的身邊,準確的找到你的位置,這個也是最簡單的定位系統(tǒng)的形成了。就是所謂的GPS導航的系統(tǒng)。衛(wèi)星也是通過一個算法,算出自己的經緯度,來跟蹤你。定位方式的分類GPS定位:使用GPS衛(wèi)星進行定位,需要在androidmanifest.xml當中聲明如下的權限:Android.permission.Access_FINE_location2.NETWORK定位:使用信號接收和Wi-Fi介入點進行定位,需要在Android.permission.Access_FINE_location或Android.permission.Access_COARSE_location獲取用戶的當前位置1在androidmanifest.xml當中聲明相應的權限2獲取Locationmanger對象選擇Locationprovider;4綁定LocationListener對象下面我們看下東太湖布局代碼下面我們看下地位系統(tǒng)的代碼<?xmlversion=”1.0”encoding=”utf-8”?><manifestxmlns:android=”/apk/res/android”>Android:orientation=”vertical”Android:layout_width=”fill_parent”Android:layout_height=”fill_parent”Android:layout_width=”fill_parent”Android:layout_height=”fill_content”Android:text=”@string/hello”Android:id=”@+id/locationbuttondid”Android:layout_width=”fill_parent”Android:layout_height=”fill_content”Android:text=”綁定監(jiān)聽器”MainActivity.javaPackagemars.location01;Importandroid.app.activity;Importandroid.content.context;Importandroid.location.location;Importandroid.location.locationListener;Importandroid.location.locationmanger;Importandroid.os.bungle;Importandroid.view.view;Importandroid.view.view;onclicklistener;Importandroid.widget.button;PublicclassMainactivityextendsactivity{Privatebuttonbutton=null;Publicvoidoncreate(savedinstancestate);Super.oncreater(savedinstancestate);Setcontentview(R.layout.main);Button=(button)findviewbyid(R.id.locationbuttonid);Button.setonclicklistener(newbuttonlistener());}Privateclassbuttonlistenerimplementsonclicklistener{Publicvoidonclick(viewv){//得到Locationmanger對象LocationmangerLocationmanger=(Locationmanger)mainactivity.this.getsystemservics(context.locatiom_sercice);Locationmanger.requestlocationpdates(Locationmange).vider,0,0newtestlocationlistener())‘}Publicvoidonproviderenableed(stringprovider){}Publicvoidonproviderenableed(stringprovider){}Publicvoidonproviderenableed(stringprovider,intstatus,bungleextras)}}我們可以通過調式不同的經緯度在查看標記的位置,這個就是定位系統(tǒng)中查找我們具體的位置,經緯度。在我們手機中有很多的locationprovider,上面的是大概的定位的位置,但是我們都需要具體的位置,所以現在我們需要了解下怎么樣獲取最佳的locationprovider,和追蹤用戶的位置。locationprovider代碼MainActivity.javapackagemars.location02;import.java.util.lterator;privatebuttonlocationbutton;privatebuttonbestlocationbutton;privatelocationmangerlocationmanger;publicvoidoncreate(bundlesavedinstancestate){super.oncreate(savedinstancestate);setcontentview(R.layout.main);locationbutton=(button)findviewbyid(R.id.locationbuttonid);bestproviderbutton=(button)findviewbyid(R.id.bestlocationbuttonid);locationmanger=(locationmanger)mainactivity.this.getsystemservice(context,location)locationbutton.setonclicklistener(newprovidersbuttonlistener());bestproviderbutton.setonclicklistener(newbestproviderbuttonlistener());}Privateclassprovidersbuttonlistenerimplementsonclicklistener{Publicvoidonclick(viewv){List<string>providers=locationmanger.getallproviders();For(iteratoriterator=providers.iterator();iterator,hasnext();){Stringprovider=(string)iterator.next();System.out.println(provider);}}}Privateclassbestproviderbuttonlistenerimplementsonclicklistener{Publicvoidonclick(viewv){//生成一個Criteria對象Criteriacriteria=newcriteria();//設置查詢條件Criteria.setaccuracy(criteria.accuracy_fine);Criteria.setpowerrequirement(criteria.power_low);Criteria.setaltitudered(false);Criteria.setspeedrequired(false);Criteria.setcostallowed(false);Stringprovider=locationmanger.getbestprovider(criteria,false);System.out.println(“bestprovider--”+provider);}}}<?xmlversion=”1.0”encoding=”utf-8”?><manifestxmlns:android=”/apk/res/android”>Package=”mars.location02”Android:versioncode=”1”Android:versionname=”1.0”<user-sdkandroid:minsdkversion=”8”/>Android:icon=”@dravable/icon”android:lable=”@string/app_name”>Android:name=”.mainactivity”Android:label=”@string/app_name”>Android:name=”ent.actegory.mainAndroid:name=”ent.category.launchrer”<user-permisssionandroid”name=”android.permisssion.access_fine_location”><user-permisssionandroid”name=”android.permisssion.access_coarse_location”>provider現在我們安裝一個測試按鈕什么是Criteria呢Criteria可以設置一系列查詢條件,用于查找當前設備當中符合的Locationprovider查詢的條件下面我們老了解下我們追蹤用戶位置的代碼MainActivity.javaPackagemars.lockation02Importandroid.app.activity;Importandroid.content.context;Importandroid.location.location;Importandroid.location.locationListener;Importandroid.location.locationmanger;Importandroid.os.bungle;Importandroid.view.view;Importandroid.view.view;onclicklistener;Importandroid.widget.button;Publicclassmainactivityextendsactivity{Privatebuttonlocationbutton;Privatelocationmangerlocationmanger=null;Publicvoidoncreate(bundlesavedinstancestate){Supper.oncreate(savedinstancestate);Setcontentview(R.layout.main);Locationmanger=(locationmanger)getsystemservice(context.LOCATION_SERVICE);Locationbutton=(button)findviewbyid(R,id.locationbuttonid);Locationbutton.steonlicklistener(newLocationbuttonlistener());}PrivateclassLocationbuttonlistenerimplementsonlicklistener{Publicvoidonclick(viewv){Locationmanger.requestionupdates(Locationmanger).gps_provider.5000,5000,newtestlocationlistenter());}}Privateclasstestlocationlistenerimplementslocationlistener{Publicvoidonlocationchanged(locationlocation){Systemvoid.println(location.getlatitude());Systemvoid.println(location.getlongitude());}PublicvoidonproviderDisabled(stringprovider){}Publicvoidonproviderenabled(stringprovider){}Publicvoidonstatuschanged(stringstatus,bundleextras){}}}什么是Geocoding?GeoCoding是Google所提供的一項服務,主要的有以下兩個功能:1查詢某地址的經緯度2查詢某經緯度的具體地址
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 寵物營養(yǎng)師在寵物食品市場中的作用試題及答案
- 食品檢測儀器使用考試試題及答案
- 小學一年級語文考試最佳試題及答案
- 寵物營養(yǎng)師行業(yè)人才培養(yǎng)目標與考試的關聯(lián)性與試題及答案
- 殯葬招聘考試題目及答案
- 口腔護理目的及注意事項
- 2024年小學六年級語文目標測驗試題及答案
- 2024年汽車維修工考試時間安排探討試題及答案
- 2024年汽車維修工發(fā)動機運轉異常分析試題及答案
- 2024年車主與維修工的溝通技巧試題及答案
- 民工學校開展活動記錄
- 公司發(fā)票報銷說明
- GB/T 17492-2019工業(yè)用金屬絲編織網技術要求和檢驗
- 2023年1月浙江首考高考英語試卷真題及答案(含聽力原文mp3+作文范文)
- 水利工程建設標準強制性條文
- 數學課堂教學技能講座課件
- 異物管控記錄表
- 公車私用管理制度
- 設備主人制管理辦法
- 市政基礎設施工程旁站監(jiān)理記錄表
- 幼兒園繪本:《小蛇散步》 課件
評論
0/150
提交評論