位置情報の取得

232 views
Skip to first unread message

ayk

unread,
Dec 9, 2014, 1:48:09 AM12/9/14
to android-g...@googlegroups.com
Android開発初心者です。

現在GPSでの位置情報取得のアプリケーションの開発をしています。
しかしプログラム実行したところエラーは起きないのですが位置情報の表示ができないようです。

情報表示したいのは緯度経度のみで(初心者なので)いくつかのHPを参考に書かせていただきました。
位置情報の読込はしているようです(実機の位置情報アイコンは表示されれている)。

アドバイスのほう宜しくお願いいたします。

-----------------------------------------------------------------------------------------------------------------------------------------
GPSActivity.java
-----------------------------------------------------------------------------------------------------------------------------------------

package jp.gps;

import android.app.Activity;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.location.LocationProvider;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class GPSActivity extends Activity implements LocationListener {
    private LocationManager mLocationManager;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_gps);
        
        mLocationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
    }
    
    @Override
    protected void onResume() {
        if (mLocationManager != null) {
            mLocationManager.requestLocationUpdates(
              LocationManager.GPS_PROVIDER,
                0,
                0,
                this);
        }
        
        super.onResume();
    }
    
    @Override
    protected void onPause() {
        if (mLocationManager != null) {
            mLocationManager.removeUpdates(this);
        }
        
        super.onPause();
    }


    @Override
    public void onLocationChanged(Location location) {
   
        //緯度経度の表示
        TextView textView1 = (TextView)findViewById(R.id.textView1);
        textView1.setText("Latitude:Longitude - "
        +String.valueOf(location.getLatitude()) +":"+String.valueOf(location.getLongitude()));

        Log.v("----------", "----------");
        Log.v("Latitude", String.valueOf(location.getLatitude()));
        Log.v("Longitude", String.valueOf(location.getLongitude()));
        Log.v("Accuracy", String.valueOf(location.getAccuracy()));
        Log.v("Altitude", String.valueOf(location.getAltitude()));
        Log.v("Time", String.valueOf(location.getTime()));
        Log.v("Speed", String.valueOf(location.getSpeed()));
        Log.v("Bearing", String.valueOf(location.getBearing()));
    }

    @Override
    public void onProviderDisabled(String provider) {

    }

    @Override
    public void onProviderEnabled(String provider) {

    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        switch (status) {
        case LocationProvider.AVAILABLE:
            Log.v("Status", "AVAILABLE");
            break;
        case LocationProvider.OUT_OF_SERVICE:
            Log.v("Status", "OUT_OF_SERVICE");
            break;
        case LocationProvider.TEMPORARILY_UNAVAILABLE:
            Log.v("Status", "TEMPORARILY_UNAVAILABLE");
            break;
        }
    }
}

katsuki nakatani

unread,
Dec 10, 2014, 2:08:45 AM12/10/14
to android-g...@googlegroups.com
こんにちは。
中谷と申します。

位置情報の表示が出来ないということですが、onLocationChangedメソッドが呼ばれないということですか?
それとも呼ばれていて、緯度・経度が取得できているがTextViewがうまく表示されないということでしょうか。
まずどこまでメソッドが呼ばれているか確認されるといいかと思います。

あとLocationManagerよりPlayServiceのLocation APIを使うほうがいいと思います。

2014年12月9日火曜日 15時48分09秒 UTC+9 ayk:
Reply all
Reply to author
Forward
0 new messages