現在地を表示したい

スポンサーリンク
スポンサーリンク

現在地を取得して地図上に表示したいので調べた。

スポンサーリンク

現在地の取得&表示

うまく自分の中でまとまってないけど、できはした。権限の話やらなんやら。

うまく言葉で書けないから、ソースだけ書いとこ。

double lat = 0;
double lon = 0;
LocationManager locationmanager = (LocationManager) getSystemService(LOCATION_SERVICE);
GPSLocationListener locationlistener = new GPSLocationListener();
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {

    String[] permissions = {Manifest.permission.ACCESS_FINE_LOCATION};
    ActivityCompat.requestPermissions(this, permissions, 1000);
    return;
}
locationmanager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1000, locationlistener);
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);

    if (requestCode == 1000 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
        LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
        GPSLocationListener locationlistener = new GPSLocationListener();
        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            return;
        }
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1000, locationlistener);
    }
}
private class GPSLocationListener implements LocationListener {
    @Override
    public void onLocationChanged(Location location) {
        lat = location.getLatitude();
        lon = location.getLongitude();

        LatLng latlon = new LatLng(lat, lon);

        marker.setPosition(latlon);
        mMap.moveCamera(CameraUpdateFactory.newLatLng(latlon));
    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
    }

    @Override
    public void onProviderEnabled(String provider) {
    }

    @Override
    public void onProviderDisabled(String provider) {
    }
}

色々あった。

参考

Android6.0以上の端末で動作するGoogleMapsアプリを作成ろうとしていきなりハマったことまとめ - Qiita
はじめに Android6.0以上の端末で動作するGoogleMapを利用した簡単なアプリを作ろうと始めたところ、開始早々いきなりつまずきました。 そこで、同じようにハマった方がいた場合にその助けになればと思って色々と調査した内...
LocationManager  |  Android Developers
1800a-gps
スポンサーリンク
のーと
スポンサーリンク
スポンサーリンク
スポンサーリンク
dalomo

コメント

タイトルとURLをコピーしました