package Ġcom . example . code Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . preference . Preference Manager Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . activity . result . contract . Activity Result Contracts Ċ import Ġorg . os md roid . config . Configuration Ċ import Ġorg . os md roid . tile provider . tile source . Tile Source Factory Ċ import Ġorg . os md roid . util . Geo Point Ċ import Ġorg . os md roid . views . MapView Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġval Ġchoose Map Style Launcher Ġ= ĊĠĠĠĠĠĠĠ Ġregister For Activity Result ( Activity Result Contracts . Start Activity For Result ()) Ġ{ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠThis Ġline Ġsets Ġthe Ġuser Ġagent , Ġa Ġrequirement Ġto Ġdownload ĠO SM Ġmaps ĊĠĠĠĠĠĠĠ ĠConfiguration . getInstance (). load ( this , ĠPreference Manager . getDefault SharedPreferences ( this )); ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġval Ġmap 1 Ġ= ĠfindViewById < MapView >( R . id . main Map ) ĊĠĠĠĠĠĠĠ Ġmap 1 . controller . set Zoom ( 1 4 . 0 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġprefs Ġ= ĠPreference Manager . getDefault SharedPreferences ( application Context ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlat Ġ= Ġprefs . getString (" lat ", Ġ" 5 1 . 5 0 8 5 3 ") ?. toDouble () Ġ?: Ġ 5 1 . 5 0 8 5 3 ĊĠĠĠĠĠĠĠ Ġval Ġlon Ġ= Ġprefs . getString (" lon ", Ġ"- 0 . 1 2 5 7 4 ") ?. toDouble () Ġ?: Ġ- 0 . 1 2 5 7 4 ĊĊĠĠĠĠĠĠĠ Ġmap 1 . controller . set Center ( Geo Point ( lat , Ġlon )) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . change prop Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠProperties Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchoose Map Style Launcher . launch ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġval Ġprefs Ġ= ĠPreference Manager . getDefault SharedPreferences ( application Context ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlat Ġ= Ġprefs . getString (" lat ", Ġ" 5 1 . 5 0 8 5 3 ") ?. toDouble () Ġ?: Ġ 5 1 . 5 0 8 5 3 ĊĠĠĠĠĠĠĠ Ġval Ġlon Ġ= Ġprefs . getString (" lon ", Ġ"- 0 . 1 2 5 7 4 ") ?. toDouble () Ġ?: Ġ- 0 . 1 2 5 7 4 ĊĠĠĠĠĠĠĠ Ġval Ġopen Top o Ġ= Ġprefs . getBoolean (" open Top o ", Ġfalse ) Ġ?: Ġfalse ĊĊĠĠĠĠĠĠĠ Ġval Ġmap 1 Ġ= ĠfindViewById < MapView >( R . id . main Map ) ĊĊĠĠĠĠĠĠĠ Ġmap 1 . controller . set Center ( Geo Point ( lat , Ġlon )) ĊĊĠĠĠĠĠĠĠ Ġmap 1 . set Tile Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( open Top o ) ĠTile Source Factory . Open Top o ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠTile Source Factory . MAP NI K ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} Ċ Ċ }