diff --git a/app/src/main/java/org/ntlab/amaryllis/client/MainActivity.java b/app/src/main/java/org/ntlab/amaryllis/client/MainActivity.java index da91779..3b3c181 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/MainActivity.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/MainActivity.java @@ -35,9 +35,9 @@ import retrofit2.converter.jackson.JacksonConverterFactory; -public class MainActivity extends AppCompatActivity implements LocationListener{ +public class MainActivity extends AppCompatActivity implements LocationListener { - private static final String TAG = MainActivity.class.getSimpleName() ; + private static final String TAG = MainActivity.class.getSimpleName(); LocationManager locationManager; private ArrayList listeners = new ArrayList<>(); @@ -54,20 +54,32 @@ NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration); NavigationUI.setupWithNavController(navView, navController); - if (ContextCompat.checkSelfPermission(this, - Manifest.permission.ACCESS_FINE_LOCATION) != - PackageManager.PERMISSION_GRANTED) { - ActivityCompat.requestPermissions(this, - new String[]{Manifest.permission.ACCESS_FINE_LOCATION,}, - 1000); +// if (ContextCompat.checkSelfPermission(this, +// Manifest.permission.ACCESS_FINE_LOCATION) != +// PackageManager.PERMISSION_GRANTED) { +// ActivityCompat.requestPermissions(this, +// new String[]{Manifest.permission.ACCESS_FINE_LOCATION,}, +// 1000); +// } +// else{ +// locationStart(); +// locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 100, 50, this); +// +// +// } + + LocationManager manager = (LocationManager) getSystemService(LOCATION_SERVICE); + if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { + // TODO: Consider calling + // ActivityCompat#requestPermissions + // here to request the missing permissions, and then overriding + // public void onRequestPermissionsResult(int requestCode, String[] permissions, + // int[] grantResults) + // to handle the case where the user grants the permission. See the documentation + // for ActivityCompat#requestPermissions for more details. + return; } - else{ - locationStart(); - locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 100, 50, this); - - - } - + manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this); } private void locationStart(){ @@ -149,6 +161,10 @@ // } } + + + + public void subscribe(LocationListener listener){ listeners.add(listener); } @@ -167,6 +183,10 @@ listener.onLocationChanged(location); } + double latitude,longitude; + latitude=location.getLatitude(); + longitude=location.getLatitude(); + } @Override public void onProviderEnabled(String provider) { diff --git a/app/src/main/java/org/ntlab/amaryllis/client/fragment/MapsFragment.java b/app/src/main/java/org/ntlab/amaryllis/client/fragment/MapsFragment.java index 6e00703..c121f6b 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/fragment/MapsFragment.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/fragment/MapsFragment.java @@ -27,10 +27,13 @@ import android.widget.SeekBar; import android.widget.TextView; +import com.google.android.gms.common.ConnectionResult; +import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.OnMapReadyCallback; import com.google.android.gms.maps.SupportMapFragment; +import com.google.android.gms.maps.model.CameraPosition; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.MarkerOptions; @@ -79,11 +82,14 @@ //private short[] shortData = new short[2048]; private int bufSize; LocationManager locationManager; -// public final Application getApplication() { -// throw new RuntimeException("Stub!"); -// } + public final Application getApplication() { + throw new RuntimeException("Stub!"); + } + + private GoogleMap googlemap; + private OnMapReadyCallback callback = new OnMapReadyCallback() { /** * Manipulates the map once available. @@ -103,9 +109,9 @@ // double latitude1 = Double.parseDouble(latitude); // double longitude1 = Double.parseDouble(longitude); LatLng sydney = new LatLng(35, 135); +// MapsFragment.this= googleMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); googleMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); - } }; @@ -157,12 +163,19 @@ if (mapFragment != null) { mapFragment.getMapAsync(callback); } + + //ここはonCreateにあたる +// amaryllis =(Amaryllis)getApplication(); +// String latitude = amaryllis.getLatitude(); +// String longitude = amaryllis.getLongitude(); +// latitude1 = Double.parseDouble(latitude); +// longitude1 = Double.parseDouble(longitude); } @Override public void onLocationChanged(Location location) { - latitude=location.getLatitude(); - longitude=location.getLongitude(); + Log.d("DEBUG", "lat : " + location.getLatitude()); + Log.d("DEBUG", "lon : " + location.getLongitude()); } @Override @@ -181,6 +194,8 @@ } + + public class FragmentTest extends Fragment implements View.OnClickListener { @Override