現在地を取得して地図上に表示したいので調べた。
現在地の取得&表示
うまく自分の中でまとまってないけど、できはした。権限の話やらなんやら。
うまく言葉で書けないから、ソースだけ書いとこ。
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
コメント