package Ġorg . ak vo . map experiments Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . location . Location Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . widget . Toolbar Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . reflect . Type Token Ċ import Ġcom . mapbox . mapbox sdk . camera . Camera Position Ċ import Ġcom . mapbox . mapbox sdk . camera . Camera Update Factory Ċ import Ġcom . mapbox . mapbox sdk . geometry . LatLng Ċ import Ġcom . mapbox . mapbox sdk . maps . MapView Ċ import Ġcom . mapbox . mapbox sdk . maps . Map box Map Ċ import Ġcom . mapbox . mapbox sdk . maps . Style Ċ import Ġcom . mapbox . mapbox sdk . offline . Offline Region Ċ import Ġcom . mapbox . mapbox sdk . offline . Offline Tile Py ramid Region Definition Ċ import Ġcom . mapbox . mapbox sdk . plugins . annotation . Circle Manager Ċ import Ġcom . mapbox . mapbox sdk . plugins . annotation . Circle Options Ċ import Ġcom . mapbox . mapbox sdk . plugins . annotation . Fill Manager Ċ import Ġcom . mapbox . mapbox sdk . plugins . annotation . Fill Options Ċ import Ġcom . mapbox . mapbox sdk . plugins . annotation . Line Manager Ċ import Ġcom . mapbox . mapbox sdk . plugins . annotation . Line Options Ċ import Ġorg . ak vo . map experiments . Regions List Dialog Fragment . Regions Selection Listener Ċ import Ġjava . util . ArrayList Ċ Ċ class ĠMap Box Activity Ġ: ĠLocation Aware Activity (), ĠReg ions Selection Listener Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlocations : ĠMutable List < LatLng > Ġ= ĠArrayList () ĊĠĠĠ Ġprivate Ġval Ġgson Ġ= ĠGson () ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmap box Map : ĠMap box Map ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmap View : ĠMap View ĊĠĠĠ Ġprivate Ġvar Ġshared Preferences : ĠSharedPreferences ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġmanual Area Selected Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġenable Tracking Ġ= Ġfalse ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcircle Manager : ĠCircle Manager ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġline Manager : ĠLine Manager ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfill Manager : ĠFill Manager ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ mapbox ) ĊĠĠĠĠĠĠĠ Ġval Ġtoolbar Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfindViewById < Toolbar >( R . id . toolbar ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġshared Preferences Ġ= Ġget SharedPreferences ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠP REFERENCE _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext . MODE _ PRIVATE ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġmap View Ġ= ĠfindViewById ( R . id . map View ) ĊĠĠĠĠĠĠĠ Ġmap View . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġmap View . getMap Async Ġ{ Ġmap box Map Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Map Ready ( mapbox Map ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠfindViewById < Button >( R . id . button 2 ). setOnClickListener Ġ{ Ġv Ġ-> Ġon Button Click ( v Ġas ĠButton ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Button Click ( v : ĠButton ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( enable Tracking ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . setText ( R . string . start _ recording ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Tracking Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsave Locations () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfindViewById < TextView >( R . id . textView 2 ). text Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocations . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġredraw Map () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Tracking Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . setText ( R . string . stop _ recording ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Map Ready ( mapbox Map : ĠMap box Map ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis @ Map Box Activity . mapbox Map Ġ= Ġmap box Map ĊĠĠĠĠĠĠĠ Ġmap box Map . setStyle ( Style . LIGHT ) Ġ{ Ġstyle Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġline Manager Ġ= ĠLine Manager ( map View , Ġmap box Map , Ġstyle ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcircle Manager Ġ= ĠCircle Manager ( map View , Ġmap box Map , Ġstyle ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfill Manager Ġ= ĠFill Manager ( map View , Ġmap box Map , Ġstyle ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Location () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate New Location ( location : ĠLocation ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( enable Tracking ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( location Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlatest LatLng Ġ= ĠLat Lng Acc ( location ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfindViewById < TextView >( R . id . textView 2 ). text Ġ= ĠgetString ( R . string . last _ location , Ġlatest LatLng . title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlast Lat Long Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( locations . size Ġ== Ġ 0 ) Ġnull Ġelse Ġlocations [ locations . size Ġ- Ġ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// 5 Ġmeters Ġminimum Ġdistance Ġfor Ġthe Ġpoint Ġto Ġbe Ġadded ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( last Lat Long Ġ== Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġlatest LatLng . distance To ( last Lat Long ) Ġ> ĠMap Options . MIN IMUM _ DISTANCE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! manual Area Selected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġzoom Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( last Lat Long Ġ== Ġnull ) ĠZ O OM _ LEVEL Ġelse Ġmap box Map . camera Position . zoom ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( zoom Ġ== Ġ 0 . 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġzoom Ġ= ĠZ O OM _ LEVEL ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap box Map . animate Camera ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCamera Update Factory . new LatLng Zoom ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng ( location . latitude , Ġlocation . longitude ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġzoom ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocations . add ( latest LatLng ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġredraw Map () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġenable Map Location () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ignore ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġredraw Map () Ġ{ ĊĠĠĠĠĠĠĠ Ġcircle Manager . delete All () ĊĠĠĠĠĠĠĠ Ġline Manager . delete All () ĊĠĠĠĠĠĠĠ Ġfill Manager . delete All () ĊĊĠĠĠĠĠĠĠ Ġfill Manager . create ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFill Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with LatLng s ( array ListOf ( locations )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Fill Color ("# 7 3 6 3 5 7 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Fill Opacity ( 0 . 5 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Drag gable ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġline Manager . create ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLine Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Line Color ("# 7 3 6 3 5 7 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with LineWidth ( 4 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Drag gable ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with LatLng s ( locations ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( lat Lng Ġin Ġlocations ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcircle Manager . create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCircle Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with LatLng ( lat Lng ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Circle Color ("# 0 0 a 7 9 d ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Circle Radius ( 8 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Circle Stroke Color ("# 0 2 7 a 7 3 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Drag gable ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Circle Stroke Width ( 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġmap View . onStart () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġmap View . on Resume () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġmap View . on Pause () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠĠĠĠĠ Ġmap View . on Stop () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( out State : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( out State ) ĊĠĠĠĠĠĠĠ Ġmap View . on Save InstanceState ( out State ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ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 . mapbox _ menu , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . onCreate Options Menu ( menu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . save Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsave Locations () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . load Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsaved Locations String Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences !!. getString ( PRE F _ SHAPE , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( saved Locations String )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Loading Ġshape ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠType Token < List < LatLng Acc ?> ?> () Ġ{} . type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocations Pref Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgson . fromJson < List < LatLng Acc >>( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsaved Locations String , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocations . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocations . addAll ( locations Pref ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// TODO : Ġcenter Ġmap Ġon Ġlast Ġlocation Ġitem . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġredraw Map () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . load _ offline Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠReg ions List Dialog Fragment . newInstance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . show ( support FragmentManager , ĠReg ions List Dialog Fragment . TAG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsave Locations () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġlocations . size ĊĠĠĠĠĠĠĠ Ġif Ġ( size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( size Ġ> Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocations . add ( locations [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠtoJson Ġ= Ġgson . toJson ( locations ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences !!. edit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. putString ( PRE F _ SHAPE , ĠtoJson ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Shape Ġsaved ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġredraw Map () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtoast ( text : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġtext , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon AddNew Selected () Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this @ Map Box Activity , ĠOff line Manager Activity :: class . java )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Region Selected ( region : ĠOff line Region ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdefinition Ġ= Ġregion . definition ĊĠĠĠĠĠĠĠ Ġval Ġbounds Ġ= Ġdefinition ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. bounds ĊĠĠĠĠĠĠĠ Ġval Ġregion Zoom Ġ= Ġ( definition Ġas ĠOff line Tile Py ramid Region Definition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. min Zoom ĊĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġnew Ġcamera Ġposition ĊĠĠĠĠĠĠĠ Ġval Ġcamera Position Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCamera Position . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. target ( bounds . center ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. zoom ( region Zoom ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġ// ĠMove Ġcamera Ġto Ġnew Ġposition ĊĠĠĠĠĠĠĠ Ġmap box Map . move Camera ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCamera Update Factory ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. new Camera Position ( camera Position ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġmanual Area Selected Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠLat Lng Acc Ġinternal Ġconstructor ( location : ĠLocation ) Ġ: ĊĠĠĠĠĠĠĠ ĠLat Lng ( location ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġaccuracy Ġ= Ġ 0 . 0 f ĊĊĠĠĠĠĠĠĠ Ġval Ġtitle : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġ(" Loc : Ġ" Ġ+ Ġlatitude Ġ+ Ġ", Ġ" Ġ+ Ġlongitude ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ", Ġacc : Ġ" Ġ+ Ġaccuracy ) ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccuracy Ġ= Ġlocation . accuracy ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REFERENCE _ NAME Ġ= Ġ" Prefs " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ SHAPE Ġ= Ġ" shape " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠZ O OM _ LEVEL Ġ= Ġ 1 6 . 0 ĊĠĠĠ Ġ} Ċ }