package Ġcom . example . lay an ac omp ut indo . test Ċ Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġcom . google . android . gms . maps . Camera Update Factory Ċ import Ġcom . google . android . gms . maps . Google Map Ċ import Ġcom . google . android . gms . maps . On Map Ready Callback Ċ import Ġcom . google . android . gms . maps . Support Map Fragment Ċ import Ġcom . google . android . gms . maps . model . LatLng Ċ import Ġcom . google . android . gms . maps . model . Marker Options Ċ import Ġim . de light . android . location . Simple Location ĊĊĊ Ċ class ĠCurrent Location Activity Ġ: ĠAppCompatActivity (), ĠOn Map Ready Callback Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlocation : ĠSimple Location ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm LOCATION : ĠLat Lng ĊĠĠĠ Ġval ĠZ O OM _ LEVEL Ġ= Ġ 1 8 f ĊĠĠĠ Ġoverride Ġfun Ġon Map Ready ( google Map : ĠGoogle Map ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġgoogle Map Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġwith ( google Map ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmove Camera ( Camera Update Factory . new LatLng Zoom ( m LOCATION , ĠZ O OM _ LEVEL )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Marker ( Marker Options (). position ( m LOCATION )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ current _ location ) ĊĠĠĠĠĠĠĠ Ġval Ġmap Fragment Ġ: ĠSupport Map Fragment ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager . find Fragment ById ( R . id . map ) Ġas ? ĠSupport Map Fragment ĊĠĠĠĠĠĠĠ Ġmap Fragment ?. getMap Async ( this ) ĊĠĠĠĠĠĠĠ Ġ// Ġconstruct Ġa Ġnew Ġinstance Ġof ĠSimple Location ĊĠĠĠĠĠĠĠ Ġlocation Ġ= ĠSimple Location ( this ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġif Ġwe Ġcan 't Ġaccess Ġthe Ġlocation Ġyet ĊĠĠĠĠĠĠĠ Ġif Ġ(! location . has Location Enabled ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġask Ġthe Ġuser Ġto Ġenable Ġlocation Ġaccess ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSimple Location . open Settings ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm LOCATION Ġ= ĠLat Lng ( location . latitude , Ġlocation . longitude ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĊĠĠĠĠĠĠĠ Ġ// Ġmake Ġthe Ġdevice Ġupdate Ġits Ġlocation ĊĠĠĠĠĠĠĠ Ġif Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation . begin Updates () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ... ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġstop Ġlocation Ġupdates Ġ( s aves Ġbattery ) ĊĠĠĠĠĠĠĠ Ġif Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation . end Updates () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ... ĊĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠ Ġ} Ċ } Ċ