package Ġcom . mapbox . maps . test app . examples Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . mapbox . geojson . Point Ċ import Ġcom . mapbox . maps . Camera Options Ċ import Ġcom . mapbox . maps . MapView Ċ import Ġcom . mapbox . maps . Style Ċ import Ġcom . mapbox . maps . Transition Options Ċ import Ġcom . mapbox . maps . extension . style . expressions . dsl . generated .* Ċ import Ġcom . mapbox . maps . extension . style . expressions . generated . Expression . Companion . division Ċ import Ġcom . mapbox . maps . extension . style . expressions . generated . Expression . Companion . interpolate Ċ import Ġcom . mapbox . maps . extension . style . layers . add Layer Ċ import Ġcom . mapbox . maps . extension . style . layers . generated . circle Layer Ċ import Ġcom . mapbox . maps . extension . style . layers . generated . symbol Layer Ċ import Ġcom . mapbox . maps . extension . style . sources . add Source Ċ import Ġcom . mapbox . maps . extension . style . sources . generated . geo Json Source Ċ import Ġcom . mapbox . maps . plugin . animation . fly To Ċ import Ġcom . mapbox . maps . test app . R Ċ import Ġcom . mapbox . maps . test app . utils . Bitmap Utils . bitmap From Drawable Res Ċ Ċ /** Ċ Ġ* ĠExample Ġof Ġusing ĠGeo JSON Ġand Ġcircle Ġlayers Ġto Ġvisualize Ġpoint Ġdata Ġin Ġclusters . Ċ Ġ*/ Ċ class ĠCircle Layer Cluster ing Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠ Ġval Ġmap View Ġ= ĠMap View ( this ) ĊĠĠĠ ĠsetContentView ( map View ) ĊĠĠĠ Ġval Ġmap box Map Ġ= Ġmap View . getMap box Map () ĊĊĠĠĠ Ġmap box Map . load Style Uri ( ĊĠĠĠĠĠ ĠStyle . LIGHT ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠ Ġ// ĠDisable Ġany Ġtype Ġof Ġf ading Ġtransition Ġwhen Ġicons Ġcol lide Ġon Ġthe Ġmap . ĠThis Ġen h ances Ġthe Ġvisual ĊĠĠĠĠĠ Ġ// Ġlook Ġof Ġthe Ġdata Ġclustering Ġtogether Ġand Ġbreaking Ġapart . ĊĠĠĠĠĠ Ġit . style Transition Ġ= ĠTransition Options . Builder () ĊĠĠĠĠĠĠĠ Ġ. duration ( 0 ) ĊĠĠĠĠĠĠĠ Ġ. delay ( 0 ) ĊĠĠĠĠĠĠĠ Ġ. enable Placement Transitions ( false ) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠ Ġmap box Map . fly To ( ĊĠĠĠĠĠĠĠ ĠCamera Options . Builder () ĊĠĠĠĠĠĠĠĠĠ Ġ. center ( Point . from Lng Lat (- 7 9 . 0 4 5 , Ġ 1 2 . 0 9 9 )) ĊĠĠĠĠĠĠĠĠĠ Ġ. zoom ( 3 . 0 ) ĊĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġadd Cluster ed Geo Json Source ( it ) ĊĊĠĠĠĠĠ Ġbitmap From Drawable Res ( this , ĠR . drawable . ic _ cross )?. let Ġ{ Ġbitmap Ġ-> ĊĠĠĠĠĠĠĠ Ġit . add Image ( CROSS _ ICON _ ID , Ġbitmap , Ġtrue ) ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠ Ġthis @ Circle Layer Cluster ing Activity , ĊĠĠĠĠĠĠĠ ĠR . string . zoom _ map _ in _ and _ out _ instruction , ĊĠĠĠĠĠĠĠ ĠToast . LENGTH _ SHORT ĊĠĠĠĠĠ Ġ). show () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġadd Cluster ed Geo Json Source ( style : ĠStyle ) Ġ{ ĊĊĠĠĠ Ġ// ĠAdd Ġa Ġnew Ġsource Ġfrom Ġthe ĠGeo JSON Ġdata Ġand Ġset Ġthe Ġ' cluster ' Ġoption Ġto Ġtrue . ĊĠĠĠ Ġstyle . add Source ( ĊĠĠĠĠĠ Ġ// ĠPoint Ġto ĠGeo JSON Ġdata . ĠThis Ġexample Ġvisual izes Ġall ĠM 1 . 0 + Ġearth qu akes Ġfrom Ġ 1 2 / 2 2 / 1 5 Ġto Ġ 1 / 2 1 / 1 6 Ġas Ġlogged Ġby ĠU SG S ' ĠEarth quake Ġh az ards Ġprogram . ĊĠĠĠĠĠ Ġgeo Json Source ( GEO JSON _ SOURCE _ ID ) Ġ{ ĊĠĠĠĠĠĠĠ Ġurl (" https :// www . mapbox . com / mapbox - gl - js / assets / earth qu akes . geojson ") ĊĠĠĠĠĠĠĠ Ġcluster ( true ) ĊĠĠĠĠĠĠĠ Ġmax zoom ( 1 4 ) ĊĠĠĠĠĠĠĠ Ġcluster Radius ( 5 0 ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ// ĠCreating Ġa Ġmarker Ġlayer Ġfor Ġsingle Ġdata Ġpoints ĊĠĠĠ Ġstyle . add Layer ( ĊĠĠĠĠĠ Ġsymbol Layer (" un cluster ed - points ", ĠGEO JSON _ SOURCE _ ID ) Ġ{ ĊĠĠĠĠĠĠĠ Ġicon Image ( CROSS _ ICON _ ID ) ĊĠĠĠĠĠĠĠ Ġicon Size ( ĊĠĠĠĠĠĠĠĠĠ Ġdivision Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral (" mag ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġliteral ( 4 . 0 ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġicon Color ( ĊĠĠĠĠĠĠĠĠĠ Ġinterpolate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexponential Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral (" mag ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstop Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral ( 2 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrgb Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral ( 2 5 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstop Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral ( 4 . 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrgb Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral ( 2 5 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstop Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral ( 7 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrgb Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral ( 2 5 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġfilter ( ĊĠĠĠĠĠĠĠĠĠ Ġhas Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġliteral (" mag ") ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ// ĠUse Ġthe Ġearth qu akes ĠGeo JSON Ġsource Ġto Ġcreate Ġthree Ġlayers : ĠOne Ġlayer Ġfor Ġeach Ġcluster Ġcategory . ĊĠĠĠ Ġ// ĠEach Ġpoint Ġrange Ġgets Ġa Ġdifferent Ġfill Ġcolor . ĊĠĠĠ Ġval Ġlayers Ġ= ĠarrayOf ( ĊĠĠĠĠĠ Ġint ArrayOf ( 1 5 0 , ĠContext Compat . getColor ( this , ĠR . color . red )), ĊĠĠĠĠĠ Ġint ArrayOf ( 2 0 , ĠContext Compat . getColor ( this , ĠR . color . green )), ĊĠĠĠĠĠ Ġint ArrayOf ( 0 , ĠContext Compat . getColor ( this , ĠR . color . blue )) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfor Ġ( i Ġin Ġlayers . indices ) Ġ{ ĊĊĠĠĠĠĠ Ġ// ĠAdd Ġclusters ' Ġcircles ĊĠĠĠĠĠ Ġstyle . add Layer ( ĊĠĠĠĠĠĠĠ Ġcircle Layer (" cluster -$ i ", ĠGEO JSON _ SOURCE _ ID ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġcircle Color ( layers [ i ][ 1 ]) ĊĠĠĠĠĠĠĠĠĠ Ġcircle Radius ( 1 8 . 0 ) ĊĠĠĠĠĠĠĠĠĠ Ġfilter ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhas Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral (" point _ count ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg te Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Number Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġliteral (" point _ count ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral ( layers [ i ][ 0 ]. to Long ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġall Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhas Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral (" point _ count ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg te Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Number Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġliteral (" point _ count ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral ( layers [ i ][ 0 ]. to Long ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Number Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġliteral (" point _ count ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral ( layers [ i Ġ- Ġ 1 ][ 0 ]. to Long ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġstyle . add Layer ( ĊĠĠĠĠĠ Ġsymbol Layer (" count ", ĠGEO JSON _ SOURCE _ ID ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtext Field ( ĊĠĠĠĠĠĠĠĠĠ Ġformat Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformat Section ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtoString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliteral (" point _ count ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtext Size ( 1 2 . 0 ) ĊĠĠĠĠĠĠĠ ĠtextColor ( Color . WHITE ) ĊĠĠĠĠĠĠĠ Ġtext Ignore Placement ( true ) ĊĠĠĠĠĠĠĠ Ġtext Allow Overlap ( true ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠGEO JSON _ SOURCE _ ID Ġ= Ġ" earth qu akes " ĊĠĠĠ Ġprivate Ġconst Ġval ĠC ROSS _ ICON _ ID Ġ= Ġ" cross - icon - id " ĊĠ Ġ} Ċ }