public class HHRS_main_2 extends FragmentActivity implements OnClickListener,
LocationListener {
private Button btnMain_1;
private Button btnMain_2;
private Button btnMain_3;
GoogleMap mmap;
LocationManager locationManager;
String provider;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_2);
setLayout();
GooglePlayServicesUtil.isGooglePlayServicesAvailable(HHRS_main_2.this);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
provider = locationManager.getBestProvider(criteria, true);
if (provider == null) {
new AlertDialog.Builder(HHRS_main_2.this)
.setTitle("위치서비스 동의")
.setNeutralButton("이동",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
startActivityForResult(
new Intent(
android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS),
0);
}
})
.setOnCancelListener(
new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
finish();
}
}).show();
} else {
locationManager.requestLocationUpdates(provider, 1, 1,
HHRS_main_2.this);
setUpMapIfNeeded();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 0:
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
provider = locationManager.getBestProvider(criteria, true);
if (provider == null) {
finish();
} else {
locationManager.requestLocationUpdates(provider, 1L, 2F,
HHRS_main_2.this);
setUpMapIfNeeded();
}
break;
}
}
@Override
public void onBackPressed() {
this.finish();
}
@Override
protected void onResume() {
super.onResume();
setUpMapIfNeeded();
}
@Override
protected void onPause() {
super.onPause();
locationManager.removeUpdates(this);
}
private void setUpMapIfNeeded() {
if (mmap == null) {
mmap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
Toast.makeText(HHRS_main_2.this, "mmap == null", 1000).show();
if (mmap != null) {
setUpMap();
}
}
}
private void setUpMap() {
mmap.setMyLocationEnabled(true);
mmap.getMyLocation();
}
boolean locationTag = true;
@Override
public void onLocationChanged(Location location) {
if (locationTag) {
double lat = location.getLatitude();
double lng = location.getLongitude();
Toast.makeText(HHRS_main_2.this,
"위도 : " + lat + " 경도: " + lng, Toast.LENGTH_SHORT).show();
locationTag = false;
}
}
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
private void setLayout() {
}
@Override
public void onClick(View v) {
switch (v.getId()) {
}
}
}