package Ġcom . mapbox . maps . test app . examples . custom layer Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . mapbox . common . Logger Ċ import Ġcom . mapbox . geojson . Point Ċ import Ġcom . mapbox . maps . Camera Options Ċ import Ġcom . mapbox . maps . Layer Position Ċ import Ġcom . mapbox . maps . Map box Map Ċ import Ġcom . mapbox . maps . Style Ċ import Ġcom . mapbox . maps . test app . R Ċ import Ġkotlinx . android . synt hetic . main . activity _ custom _ layer .* Ċ Ċ /** Ċ Ġ* ĠTest Ġactivity Ġshow c asing Ġthe ĠCustom ĠLayer ĠAPI Ċ Ġ*/ Ċ class ĠNative Custom Layer Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠ Ġprivate Ġlateinit Ġvar Ġmap box Map : ĠMap box Map ĊĠ Ġprivate Ġval Ġnative Custom Layer Ġ= ĠNative Example Custom Layer () ĊĊĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠ ĠsetContentView ( R . layout . activity _ custom _ layer ) ĊĠĠĠ Ġmap box Map Ġ= Ġmap View . getMap box Map () ĊĠĠĠ Ġmap box Map . load Style Uri ( ĊĠĠĠĠĠ ĠStyle . MAP BOX _ STRE ETS ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠ Ġmap box Map . set Camera ( ĊĠĠĠĠĠĠĠ ĠCamera Options . Builder (). center ( Point . from Lng Lat (- 2 4 3 . 6 0 9 4 7 , Ġ 3 9 . 9 1 4 4 8 )). zoom ( 1 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġinit Fab () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġinit Fab () Ġ{ ĊĠĠĠ Ġfab . setOnClickListener Ġ{ ĊĠĠĠĠĠ Ġswap Custom Layer () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġswap Custom Layer () Ġ{ ĊĠĠĠ Ġmap box Map . getStyle ()?. let Ġ{ Ġstyle Ġ-> ĊĠĠĠĠĠ Ġif Ġ( style . style Layer Exists ( CUSTOM _ LAYER _ ID )) Ġ{ ĊĠĠĠĠĠĠĠ Ġstyle . remove Style Layer ( CUSTOM _ LAYER _ ID ) ĊĠĠĠĠĠĠĠ Ġfab . setImage Resource ( R . drawable . ic _ layers ) ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġstyle . add Style Custom Layer ( ĊĠĠĠĠĠĠĠĠĠ Ġlayer Id Ġ= ĠCUSTOM _ LAYER _ ID , ĊĠĠĠĠĠĠĠĠĠ Ġnative Custom Layer , ĊĠĠĠĠĠĠĠĠĠ ĠLayer Position ( null , Ġ" building ", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġexpected . error ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠ ĠLogger . e ( TAG , Ġ" Add Ġcustom Ġlayer Ġexception Ġ$ it ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfab . setImage Resource ( R . drawable . ic _ layers _ clear ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġupdate Layer () Ġ{ ĊĠĠĠ Ġmap box Map . trigger Rep aint () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠ Ġsuper . onStart () ĊĠĠĠ Ġmap View . onStart () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠ Ġsuper . on Stop () ĊĠĠĠ Ġmap View . on Stop () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġmap View . on Destroy () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Low Memory () Ġ{ ĊĠĠĠ Ġsuper . on Low Memory () ĊĠĠĠ Ġmap View . on Low Memory () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ custom _ layer , Ġmenu ) ĊĠĠĠ Ġreturn Ġtrue ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠ ĠR . id . action _ update _ layer Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġupdate Layer () ĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠR . id . action _ set _ color _ red Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġnative Custom Layer . setColor ( 1 . 0 f , Ġ 0 . 0 f , Ġ 0 . 0 f , Ġ 1 . 0 f ) ĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠR . id . action _ set _ color _ green Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġnative Custom Layer . setColor ( 0 . 0 f , Ġ 1 . 0 f , Ġ 0 . 0 f , Ġ 1 . 0 f ) ĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠR . id . action _ set _ color _ blue Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġnative Custom Layer . setColor ( 0 . 0 f , Ġ 0 . 0 f , Ġ 1 . 0 f , Ġ 1 . 0 f ) ĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠCUSTOM _ LAYER _ ID Ġ= Ġ" custom " ĊĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Native Custom Layer Activity " ĊĠ Ġ} Ċ }