日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android中获取当前位置的使用步骤

發(fā)布時(shí)間:2024/1/17 Android 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android中获取当前位置的使用步骤 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在Android中得到當(dāng)前位置的步驟 1.在AndroidManifest.xml中聲明權(quán)限 android.permission.ACCESS_FINE_LOCATION(或者android.permission.ACCESS_COARSE_LOCATION) 2.聲明并實(shí)例化一個(gè)LocationManager對(duì)象 這個(gè)類提供了關(guān)于獲取位置信息的服務(wù),用于管理Android的定位服務(wù)。這個(gè)類允許應(yīng)用定期的更新地理位置信息,同時(shí)允許當(dāng)?shù)竭_(dá)指定地點(diǎn)時(shí)候激活相關(guān)的Intent。 LocationManager locMan = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 3.聲明并設(shè)置Criteria對(duì)象。 這個(gè)類是用來(lái)選擇合適的provider的,他設(shè)置了一些條件,通過(guò)對(duì)這些條件進(jìn)行篩選,系統(tǒng)得到最優(yōu)的provider對(duì)象。條件有:精度,耗電量,海拔,方位,速度以及付費(fèi)情況等。 Criteria criteria=new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); //精度要求: ACCURACY_FINE(高)ACCURACY_COARSE(低) criteria.setAltitudeRequired(false); // 不要求海拔信息 criteria.setBearingAccuracy(Criteria.ACCURACY_HIGH); //方位信息的精度要求: ACCURACY_HIGH(高)ACCURACY_LOW(低) criteria.setBearingRequired(false); // 不要求方位信息 criteria.setCostAllowed(true); // 是否允許付費(fèi) criteria.setPowerRequirement(Criteria.POWER_LOW); // 對(duì)電量的要求 (HIGH、MEDIUM) 4.根據(jù)criteria的條件獲取最合適的provider。 第二個(gè)參數(shù)是指是否只返回當(dāng)前處于激活狀態(tài)的provider。 String provider=locMan.getBestProvider(criteria,true); 在這里簡(jiǎn)介一下provider。provider是LocationManager獲取位置信息的途徑,常用的有兩種:GPS和NETWORK。 GPS定位:更精確,缺點(diǎn)是只能在戶外使用,耗電嚴(yán)重,并且返回用戶位置信息的速度遠(yuǎn)不能滿足用戶需求。需要在AndroidManifest.xml中聲明權(quán)限: android.permission.ACCESS_FINE_LOCATION NETWORK定位:通過(guò)基站和Wi- Fi信號(hào)來(lái)獲取位置信息,室內(nèi)室外均可用,速度更快,耗電更少。需要在AndroidManifest.xml中聲明權(quán)限: android.permission.ACCESS_FINE_LOCATION 或者:android.permission.ACCESS_COARSE_LOCATION 使用locMan.getAllProviders();可以獲得所有已知provider的list。為了獲取用戶位置信息,我們可以使用多種定位方式的其中一個(gè),也可以同時(shí)使用多個(gè)。 5.設(shè)置監(jiān)聽(tīng)器 設(shè)置有關(guān)更新操作的一些條件(時(shí)間間隔,距離間隔),監(jiān)聽(tīng)器會(huì)定期的更新位置信息。這里設(shè)置了使用之前得到的最優(yōu)provider,更新位置操作的時(shí)間間隔為1000毫秒,距離間隔為5米,綁定LListener監(jiān)聽(tīng)器。 locMan.requestLocationUpdates(provider, 1000, 5, new LListener()); 6.獲取地理位置信息 返回provider最近獲得的位置信息。 Location loc = locMan.getLastKnownLocation(provider); 7.補(bǔ)充 如有需要,我們可以將Location信息轉(zhuǎn)化為GeoPoint。函數(shù)如下 private GeoPoint getGeoByLocation(Location loc){ GeoPoint gp = null; if(loc != null){ double latitude = loc.getLatitude() * 1E6; double longitude = loc.getLongitude() * 1E6; gp = new GeoPoint((int)latitude, (int)longitude); } return gp; } 以上文章轉(zhuǎn)載自網(wǎng)絡(luò),對(duì)于上述信息已得到本地驗(yàn)證使用,對(duì)于綜合使用的實(shí)例在 一文中已經(jīng)實(shí)現(xiàn),請(qǐng)移步查看。

總結(jié)

以上是生活随笔為你收集整理的Android中获取当前位置的使用步骤的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。