Android アプリ開発 「MATRIX」

Androidアプリの開発に役立つサンプル集

Android開発レシピ 「GPSで緯度と経度を取得して画面に表示する方法」

余分なコードはほとんどありません。単純にGPSで緯度と経度を取得して画面に表示するシンプルな方法です。ぜひ参考にしてください。

<サンプルコード>

import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;

//メインアクティビティー ※implementsでロケーションの変化を受信できるようにする
public class MainActivity extends AppCompatActivity implements LocationListener {

private LocationManager locationManager; //ロケーションマネージャー
private TextView textView; //テキストビューの取得

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//ロケーションマネージャーを設定
locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
//テキストビューを登録
textView = (TextView)findViewById(R.id.textView);
//テキストビューに文字を設定
textView.setText("GPS準備中…"); //GPSが作動するまで表示される
}

@Override
protected void onResume() { //アプリの再開時
super.onResume();
//開始時にGPS情報の更新をロケーションマネージャーに登録
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
}

@Override
protected void onPause() { //アプリの停止時
super.onPause();
//終了時にロケーションマネージャーからGPS情報の更新を削除
locationManager.removeUpdates(this);
}

@Override
public void onLocationChanged(Location location) {
//GPS情報の更新を受信したらテキストビューに緯度と経度として表示する
textView.setText("緯度:" + location.getLatitude() + System.getProperty("line.separator") + "経度:" + location.getLongitude());
}

@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
//今回未使用
}

@Override
public void onProviderEnabled(String provider) {
//今回未使用
}

@Override
public void onProviderDisabled(String provider) {
//今回未使用
}
}

 

マニフェストファイル>

GPSを利用するにはマニフェストに下記の一行が必要なのでお忘れなく。

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

 

<結果>

f:id:vw-dsg:20160904212037p:plain

 

<注意事項>

この方法が使えるのはAPIのターゲットが22までの場合です。APIのターゲットが23以上になると、ユーザーにGPSの使用許可を得るコードを記述しなければならなくなります。

アプリのターゲットAPIは、「ファイル」→「Project structure」→左側メニューの一番下「app」を選択→「Flavors」タブ→「Target Sdk Version」項目で「API22」以下を選択する。

 

END