package Ġcom . b ree z ef s md sm . features . local shops Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . b ree z ef s md sm . R Ċ import Ġcom . b ree z ef s md sm . app . Pref Ċ import Ġcom . b ree z ef s md sm . app . domain . Add Shop DB Model Entity Ċ import Ġcom . b ree z ef s md sm . base . presentation . Base Fragment Ċ import Ġcom . b ree z ef s md sm . features . location . Location Wizard Ċ 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 .* Ċ import Ġcom . pn ik osis . material ish progress . Progress Wheel Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠSa ik at Ġon Ġ 2 8 - Apr - 2 0 . Ċ Ġ*/ Ċ class ĠLocal Shop List Map Fragment Ġ: ĠBase Fragment (), ĠOn Map Ready Callback Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmap Fragment : ĠSupport Map Fragment ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠmContext : ĠContext ĊĠĠĠ Ġprivate Ġvar Ġm Google Map : ĠGoogle Map ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Curr Location Marker : ĠMutable List < Marker > Ġ= ĠArrayList () ĊĠĠĠ Ġprivate Ġvar Ġm Shop Circ les : ĠMutable List < Circle > Ġ= ĠArrayList () ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġprogress _ wheel : ĠProgress Wheel ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġlist : ĠMutable List < Add Shop DB Model Entity >? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( objects : ĠAny ): ĠLocal Shop List Map Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠLocal Shop List Map Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( objects Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( objects Ġis ĠArrayList <* >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġ= Ġobjects Ġas ĠArrayList < Add Shop DB Model Entity > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ ĠmContext Ġ= Ġcontext ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate View ( in flater , Ġcontainer , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ near by _ shops _ map , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġmap Fragment Ġ= Ġchild FragmentManager . find Fragment ById ( R . id . map ) Ġas ĠSupport Map Fragment ; ĊĠĠĠĠĠĠĠ Ġmap Fragment . getMap Async ( this ) ĊĊĠĠĠĠĠĠĠ Ġprogress _ wheel Ġ= Ġview . findViewById ( R . id . progress _ wheel ) ĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Map Ready ( google Map : ĠGoogle Map ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Google Map Ġ= Ġgoogle Map ĊĠĠĠĠĠĠĠ Ġm Google Map ?. ui Settings ?. is Zoom Controls Enabled Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( Pref . current _ latitude ) Ġ&& Ġ! TextUtils . isEmpty ( Pref . current _ longitude )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Marker Activity ( Pref . current _ latitude . toDouble (), ĠPref . current _ longitude . toDouble ()) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress _ wheel . stop Spin ning () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Marker Activity ( cur _ lat : ĠDouble , Ġcur _ lang : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Google Map Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĊĠĠĠĠĠĠĠ Ġm Google Map !!. animate Camera ( Camera Update Factory . new LatLng Zoom ( LatLng ( cur _ lat , Ġcur _ lang ), Ġ 1 7 f )) ĊĠĠĠĠĠĠĠ Ġ// list ?. clear () ĊĊĠĠĠĠĠĠĠ Ġ/* val Ġall Shop List Ġ= ĠApp Database . get DBInstance () !!. add Shop Entry Dao (). all ĊĠĠĠĠĠĠĠ Ġval Ġnew List Ġ= Ġjava . util . ArrayList < Add Shop DB Model Entity >() ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġall Shop List . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠuserId Ġ= Ġall Shop List [ i ]. shop _ id . substring ( 0 , Ġall Shop List [ i ]. shop _ id . indexOf ("_ ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( userId Ġ== ĠPref . user _ id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew List . add ( all Shop List [ i ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlist Ġ= Ġnew List */ ĊĊĠĠĠĠĠĠĠ Ġclear Marker () ĊĠĠĠĠĠĠĠ Ġlist ?. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Marker ( it . shop Lat , Ġit . shop Long , Ġit . shop Name , Ġit . address , ĠBitmap Descriptor Factory . H UE _ OR ANGE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠgetCurrent Location Marker ( cur _ lat , Ġcur _ lang ) ĊĠĠĠĠĠĠĠ Ġprogress _ wheel . stop Spin ning () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetCurrent Location Marker ( cur _ lat : ĠDouble , Ġcur _ lang : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlocation Name Ġ= ĠLocation Wizard . getLocation Name ( mContext , Ġcur _ lat , Ġcur _ lang ) ĊĠĠĠĠĠĠĠ Ġvar Ġcurrent Marker : ĠMarker ĊĠĠĠĠĠĠĠ Ġval Ġlat Lng Ġ= ĠLat Lng ( cur _ lat , Ġcur _ lang ) ĊĠĠĠĠĠĠĠ Ġval Ġmarker Options Ġ= ĠMarker Options () ĊĠĠĠĠĠĠĠ Ġmarker Options . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġposition ( lat Lng ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle ( location Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsnippet ( location Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon ( Bitmap Descriptor Factory . default Marker ( Bitmap Descriptor Factory . H UE _ MAG ENT A )) ĊĠĠĠĠĠĠĠ Ġ}. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Marker Ġ= Ġm Google Map ?. add Marker ( it ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Curr Location Marker . add ( current Marker ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Marker ( lat : ĠDouble , Ġlang : ĠDouble , Ġmarker Name : ĠString , Ġshop Address : ĠString , Ġmarker Color : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlat Lng Ġ= ĠLat Lng ( lat , Ġlang ) ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Marker : ĠMarker ĊĊĠĠĠĠĠĠĠ Ġval Ġmarker Options Ġ= ĠMarker Options () ĊĠĠĠĠĠĠĠ Ġ/* marker Options . position ( lat Lng ) ĊĠĠĠĠĠĠĠ Ġmarker Options . title ( marker Name ) ĊĠĠĠĠĠĠĠ Ġmarker Options . snippet ( shop Address ) ĊĠĠĠĠĠĠĠ Ġmarker Options . icon ( Bitmap Descriptor Factory . from Resource ( R . drawable . ic _ shop _ map _ pointer )) */ Ċ // ĊĠĠĠĠĠĠĠ Ġ/* val Ġcircle Options Ġ= ĠCircle Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. center ( LatLng ( lat , Ġlang )) ĠĠ Ġ// set Ġcenter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. radius ( 1 0 0 . 0 ) ĠĠ Ġ// set Ġradius Ġin Ġmeters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Color ( 0 x 3 0 ff 0 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. stroke Color ( Color . RED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. stroke Width ( 2 f ) ĊĊĠĠĠĠĠĠĠ Ġm Shop Circ les . add ( m Google Map !!. add Circle ( circle Options )) */ ĊĊĠĠĠĠĠĠĠ Ġcurrent Marker Ġ= Ġm Google Map !!. add Marker ( marker Options . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġposition ( lat Lng ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle ( marker Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsnippet ( shop Address ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon ( Bitmap Descriptor Factory . from Resource ( R . drawable . ic _ shop _ map _ pointer )) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm Curr Location Marker . add ( current Marker ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġclear Marker () Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġm Curr Location Marker . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Curr Location Marker [ i ]. remove () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġm Shop Circ les . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Shop Circ les [ i ]. remove () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }