gps速度android
1. android gps獲取的速度是什麼單位
定位後,得到經緯度,然後不斷的進行定位,有了每次定位的時間間隔,有了經緯度數,每一度相對應的距離,每每一秒,是多少米,相對的來算就行了.
2. android gps是怎麼定位的
開發中對於地圖及地理位置的定位是我們經常要用地,地圖功能的使用使得我們應用功能更加完善,下面 www.androidkaifa.com 總結了一下網路中現有對於介紹android定位的幾種方式,希望對大家有幫助:
android 定位一般有四種方法,這四種方式分別是:GPS定位,WIFI定準,基站定位,AGPS定位,
(1) Android GPS:需要GPS硬體支持,直接和衛星交互來獲取當前經緯度,這種方式需要手機支持GPS模塊(現在大部分的智能機應該都有了)。通過GPS方式准確度是最高的,但是它的缺點也非常明顯:1,比較耗電;2,絕大部分用戶默認不開啟GPS模塊;3,從GPS模塊啟動到獲取第一次定位數據,可能需要比較長的時間;4,室內幾乎無法使用。這其中,缺點2,3都是比較致命的。需要指出的是,GPS走的是衛星通信的通道,在沒有網路連接的情況下也能用。要實用Adnroid平台的GPS設備,首先需要添加上許可權,所以需要添加如下許可權:
uses-permission android:name= android.permission.ACCESS_FINE_LOCATION /uses-permission
3. android開發怎麼獲得手機的gps
第一步,申明許可權。(5.0之後許可權需要動態申請,具體代碼和這個問題無關就不貼出來了)
<!--定位許可權-->
<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/>
第二步通過LocationManager類獲取位置信息,下面是一個封裝好的工具類
**
*/3/15.
*獲取當前位置信息
*/
publicclassMyLocationUtil{
privatestaticStringprovider;
(){
//獲取當前位置信息
//獲取定位服務
=(LocationManager)MyApp.getContext().getSystemService(Context.LOCATION_SERVICE);
//獲取當前可用的位置控制器
List<String>list=locationManager.getProviders(true);
if(list.contains(locationManager.GPS_PROVIDER)){
//GPS位置控制器
provider=locationManager.GPS_PROVIDER;//GPS定位
}elseif(list.contains(locationManager.NETWORK_PROVIDER)){
//網路位置控制器
provider=locationManager.NETWORK_PROVIDER;//網路定位
}
if(provider!=null){
if(ActivityCompat.checkSelfPermission(MyApp.getContext(),Manifest.permission.ACCESS_FINE_LOCATION)!=PackageManager.PERMISSION_GRANTED&&ActivityCompat.checkSelfPermission(MyApp.getContext(),Manifest.permission.ACCESS_COARSE_LOCATION)!=PackageManager.PERMISSION_GRANTED){
//TODO:Considercalling
//ActivityCompat#requestPermissions
//,andthenoverriding
//(intrequestCode,String[]permissions,
//int[]grantResults)
//.Seethedocumentation
//forActivityCompat#.
returnnull;
}
LocationlastKnownLocation=locationManager.getLastKnownLocation(provider);
returnlastKnownLocation;
}else{
ToastUtils.makeText("請檢查網路或GPS是否打開");
}
returnnull;
}
}
第三步(其實到上一步這個問題已經解決了,這個算擴展吧)將位置信息轉換成地址信息。
在高德或者網路地圖開發者平台申請訪問api許可。將第二步獲取到的經緯度信息上傳查詢對應坐標信息。因為網路和高德用的不是同一個坐標系,查詢時仔細看官方API。
直接通過安卓的原生介面獲取一個gps的位置意義不是很大。這個數據在一定的坐標繫上才有意義。建議去高德的開發平台注冊個帳號,引入sdk來做,地理位置與地理位置解析的概念先了解下吧。
//第一步先獲取LocationManager的對象LocationManagerGpsManager=(LocationManager)this.getSystemService(Context.LOCATION_SERVICE);//通過LocationManager的對象來獲取到Location的信息。Locationlocation=GpsManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);//Location中經常用到的有以下幾種:/*location.getAccuracy();精度location.getAltitude();高度:海拔location.getBearing();導向location.getSpeed();速度location.getLatitude();緯度location.getLongitude();經度location.getTime();UTC時間以毫秒計*/註:需要添加使用許可權的哦
4. Android studio定位應用
一.GPS定位:android 的三種定位方式
1.GPS定位:需要GPS硬體支持,直接和衛星交互來獲取當前經緯度。優點:速度快、精度高、可在無網路情況下使用。缺點:首次連接時間長、只能在戶外已經開闊地使用,設備上方有遮擋物就不行了、比較耗電。2.Network定位:又細分為WIFI定位和基站定位(1)基站定位:一般手機附近的三個基站進行三角定位,由於每個基站的位置是固定的,利用電磁波在這三個基站間中轉所需要時間來算出手機所在的坐標a.優點:受環境的影響情況較小,不管在室內還是人煙稀少的地方都能用,只要有基站。b.缺點:首先需要消耗流量、其實精度沒有GPS那麼准確,大概在十幾米到幾十米之間(2)WIFI定位:a.優點:和基站定位一樣,它的優勢在於收環境影響較小,只要有Wifi的地方可以使用。b.缺點:需要有wifi、精度不準3.AGPS定位:AssistedGPS(輔助全球衛星定位系統),是結合GSM或GPRS與傳統衛星定位
二.GPS常用的類
LocationManager:位置信息管理類。Android為定位系統提供了LocationManager管理類。通過LocationManager和其他幾個輔助類,開發人員可以方便開發出GPS應用:LocationManager lm = getSystemService(Context.LOCATION_SERVICE);
LocationProvider: 提供定位信息的類。LocationManager 提供了方法getAllProviders()獲取所有的LocationProvider;也可以通過名稱獲取指定的LocationProvider。(1) GPS定位:通過衛星實現的LocationProvider lProvider = locationManager.getProvider(LocationManager.GPS_PROVIDER);(2) 網路定位:通過WI-FI 或者信號塔進行定位LocationProvider lProvider = locationManager.getProvider(LocationManager.NETWORK_PROVIDER);
Location:位置類double getLatitude()獲取維度值double getLongtitude()獲取經度值double getAltitude(); 獲得海拔
在設備位置發生改變的時候獲取到最新的位置信息。void requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, new LocationListener{void onLocationChanged();