真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

AndroidGPS獲取當(dāng)前經(jīng)緯度坐標(biāo)

APP中可能會遇到一種需求,就是將當(dāng)前所在位置的坐標(biāo)傳到服務(wù)器上,今天我提供三種途徑去獲取經(jīng)緯度坐標(biāo)信息,第一種是通過Android API來實現(xiàn),第二種通過百度地圖API來實現(xiàn),第三種通過天地圖API來實現(xiàn)。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了德欽免費(fèi)建站歡迎大家使用!

第一種方法(Android API實現(xiàn)),廢話不多說,上代碼。

MainActivity代碼如下:

public class MainActivity extends Activity {
 private static final String TAG = MainActivity.class.getSimpleName();
 private double latitude = 0.0;
 private double longitude = 0.0;
 private TextView info;
 private LocationManager locationManager;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 info = (TextView) findViewById(R.id.tv);
 locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
 if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
 getLocation();
 //gps已打開
 } else {
 toggleGPS();
 new Handler() {
 }.postDelayed(new Runnable() {
 @Override
 public void run() {
  getLocation();
 }
 }, 2000);
 
 }
 }
 
 private void toggleGPS() {
 Intent gpsIntent = new Intent();
 gpsIntent.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider");
 gpsIntent.addCategory("android.intent.category.ALTERNATIVE");
 gpsIntent.setData(Uri.parse("custom:3"));
 try {
 PendingIntent.getBroadcast(this, 0, gpsIntent, 0).send();
 } catch (CanceledException e) {
 e.printStackTrace();
 locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000, 0, locationListener);
 Location location1 = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
 if (location1 != null) {
 latitude = location1.getLatitude(); // 經(jīng)度
 longitude = location1.getLongitude(); // 緯度
 }
 }
 }
 
 private void getLocation() {
 Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
 if (location != null) {
 latitude = location.getLatitude();
 longitude = location.getLongitude();
 } else {
 
 locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, locationListener);
 }
 info.setText("緯度:" + latitude + "\n" + "經(jīng)度:" + longitude);
 }
 
 LocationListener locationListener = new LocationListener() {
 // Provider的狀態(tài)在可用、暫時不可用和無服務(wù)三個狀態(tài)直接切換時觸發(fā)此函數(shù)
 @Override
 public void onStatusChanged(String provider, int status, Bundle extras) {
 }
 
 // Provider被enable時觸發(fā)此函數(shù),比如GPS被打開
 @Override
 public void onProviderEnabled(String provider) {
 Log.e(TAG, provider);
 }
 
 // Provider被disable時觸發(fā)此函數(shù),比如GPS被關(guān)閉
 @Override
 public void onProviderDisabled(String provider) {
 Log.e(TAG, provider);
 }
 
 // 當(dāng)坐標(biāo)改變時觸發(fā)此函數(shù),如果Provider傳進(jìn)相同的坐標(biāo),它就不會被觸發(fā)
 @Override
 public void onLocationChanged(Location location) {
 if (location != null) {
 Log.e("Map", "Location changed : Lat: " + location.getLatitude() + " Lng: " + location.getLongitude());
 latitude = location.getLatitude(); // 經(jīng)度
 longitude = location.getLongitude(); // 緯度
 }
 }
 };
 
 /*
 * 
 * 打開和關(guān)閉gps第二種方法
 * private void openGPSSettings() {
 //獲取GPS現(xiàn)在的狀態(tài)(打開或是關(guān)閉狀態(tài))
 boolean gpsEnabled = Settings.Secure.isLocationProviderEnabled(getContentResolver(), LocationManager.GPS_PROVIDER);
 if (gpsEnabled) {
 //關(guān)閉GPS
 Settings.Secure.setLocationProviderEnabled(getContentResolver(), LocationManager.GPS_PROVIDER, false);
 } else {
 //打開GPS 
 Settings.Secure.setLocationProviderEnabled(getContentResolver(), LocationManager.GPS_PROVIDER, true);
 }
 }*/
}

main.xml布局如下


 
 
 

清單文件如下:

<?xml version="1.0" encoding="utf-8"?>

 
 
 
 
 
 
 
 
 
  
   
    
 
    
   
  
 

運(yùn)行結(jié)果如下

Android GPS獲取當(dāng)前經(jīng)緯度坐標(biāo)

下載Demo請猛戳

第二種方法(百度地圖API實現(xiàn),注:需要自己申請apikey)

下載Demo請猛戳

Android GPS獲取當(dāng)前經(jīng)緯度坐標(biāo)

第三種方法(天地圖API實現(xiàn))

下載Demo請猛戳

Android GPS獲取當(dāng)前經(jīng)緯度坐標(biāo)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


網(wǎng)站標(biāo)題:AndroidGPS獲取當(dāng)前經(jīng)緯度坐標(biāo)
URL鏈接:http://weahome.cn/article/ijcioj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部