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

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

生活随笔

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

Android

Android手机应用开发之手机GPS定位

發(fā)布時(shí)間:2023/12/18 Android 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android手机应用开发之手机GPS定位 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最近在做Android手機(jī)應(yīng)用開(kāi)發(fā),還是很有意思的。其實(shí)如果只是做簡(jiǎn)單手機(jī)應(yīng)用開(kāi)發(fā)而不是手機(jī)游戲開(kāi)發(fā)的話(huà),還是很簡(jiǎn)單的。把主要的控件掌握了,就可以開(kāi)發(fā)簡(jiǎn)單的應(yīng)用了。
下面主要說(shuō)一下在Android中使用GPS功能。
開(kāi)發(fā)由于GPS功能時(shí),常與Google Map相關(guān),因此先推薦一篇講解Google Map的文章: http://mobiforge.com/developing/story/using-google-maps-android
該文章詳細(xì)的講解了Android中如何使用Google Map的各種功能。文章甚好,強(qiáng)烈推薦。
看完了如上文章后,我們就來(lái)講解下如何使用GPS。
首先在AndroidManifest.xml中添加位置服務(wù)權(quán)限:
1<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
然后再看如下代碼例: 
1LocationManager locMan = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
2Location loc = locMan.getLastKnownLocation(LocationManager.GPS_PROVIDER);
3if (loc != null) {
4????lat = loc.getLatitude();
5????Log.d(TAG, "latitude: " + lat);
6????lng = loc.getLongitude();
7????Log.d(TAG, "longitude: " + lng);
8}
先注冊(cè)LocationManager,然后就可以通過(guò)訪問(wèn)getLastKnownLocation得到當(dāng)前的GPS坐標(biāo)。是不是很簡(jiǎn)單。
既然是GPS,我們當(dāng)然不只是想知道當(dāng)前的位置,更重要的是要隨著位置的移動(dòng),GPS信息也要更新。那么我們需要怎么做呢?
還先看如下代碼例:
01LocationListener locLis = new MyLocationListener();
02locMan.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 10,
03????????????????locLis);
04...
05...
06...
07public class MyLocationListener implements LocationListener {
08????@Override
09????public void onLocationChanged(Location loc) {
10????????if (loc != null) {
11????????????p = new GeoPoint((int) (loc.getLatitude() * 1E6),
12????????????????????(int) (loc.getLongitude() * 1E6));
13????????????mc.animateTo(p);
14????????????mc.setZoom(14);
15????????????mc.setCenter(p);
16????????}
17????}
18??
19????@Override
20????public void onProviderDisabled(String provider) {
21????}
22??
23????@Override
24????public void onProviderEnabled(String provider) {
25????}
26??
27????@Override
28????public void onStatusChanged(String provider, int status, Bundle extras) {
29????}
30}
聲明自己的LocationListener后,調(diào)用requestLocationUpdates方法,就可以得到最新的GPS信息。
常用方法說(shuō)明: public void requestLocationUpdates (String provider, long minTime, float minDistance, LocationListener listener)
當(dāng)時(shí)間超過(guò)minTime(單位:毫秒),或者位置移動(dòng)超過(guò)minDistance(單位:米),就會(huì)調(diào)用listener中的方法更新GPS信息。
官方文檔中有如下說(shuō)明:
1. minTime的值最好是不小于60000(即:1分鐘),這樣會(huì)更加高效且節(jié)電。 2. 如果要盡可能實(shí)時(shí)的更新GPS信息,請(qǐng)將minTime和minDistance都設(shè)置成0。

總結(jié)

以上是生活随笔為你收集整理的Android手机应用开发之手机GPS定位的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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