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()) {
}
}
}