package Ġcom . tri an . component . cards Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . compose . foundation . background Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . fill MaxSize Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . Disposable Effect Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġandroidx . compose . ui . platform . Local Context Ċ import Ġandroidx . compose . ui . platform . Local Lifecycle Owner Ċ import Ġandroidx . compose . ui . view interop . Android View Ċ import Ġandroidx . lifecycle . Lifecycle Ċ import Ġandroidx . lifecycle . Lifecycle Event Observer Ċ import Ġcom . google . android . libraries . maps . Camera Update Factory Ċ import Ġcom . google . android . libraries . maps . MapView Ċ import Ġcom . google . android . libraries . maps . model . LatLng Ċ import Ġcom . google . android . libraries . maps . model . Marker Options Ċ import Ġcom . google . android . libraries . maps . model . Polyline Options Ċ import Ġcom . google . maps . android . k tx . await Map Ċ import Ġcom . tri an . component . R Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjava . lang . IllegalStateException Ċ Ċ /** Ċ Ġ* ĠPage ĠDashboard ĠList ĠChat Ċ Ġ* ĠAuthor ĠTri an Ġdam ai Ċ Ġ* ĠCreated Ġby ĠTri an ĠD am ai Ċ Ġ* Ġ 1 0 / 1 1 / 2 0 2 1 Ċ Ġ*/ Ċ @ Composable Ċ fun ĠCard Google Map ( modifier : ĠModifier = Modifier ) Ġ{ ĊĠĠĠ Ġval Ġmap View Ġ= Ġremember MapView With Life Cycle () ĊĠĠĠ ĠColumn ( modifier Ġ= Ġmodifier ĊĠĠĠĠĠĠĠ Ġ. fill MaxSize () ĊĠĠĠĠĠĠĠ Ġ. background ( Color . White )) Ġ{ ĊĠĠĠĠĠĠĠ ĠAndroid View ({ map View } ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCor outine Scope ( Dispatch ers . Main ). launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmap Ġ= Ġmap View . await Map () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap . ui Settings . is Zoom Controls Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpick Up Ġ= ĠLat Lng ( 2 8 . 7 0 4 1 , Ġ 7 7 . 1 0 2 5 ) Ġ// Del hi ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdestination Ġ= ĠLat Lng ( 1 2 . 9 7 1 6 , Ġ 7 7 . 5 9 4 6 ) Ġ// Bang al ore ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap . move Camera ( Camera Update Factory . new LatLng Zoom ( destination , Ġ 6 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmarker Options Ġ= Ġ ĠMarker Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. title (" Del hi ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. position ( pick Up ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap . add Marker ( marker Options ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmarker Options Destination Ġ= ĠMarker Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. title (" Bang al ore ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. position ( destination ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap . add Marker ( marker Options Destination ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap . add Polyline ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPoly line Options (). add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpick Up , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng ( 2 2 . 2 5 8 7 , Ġ 7 1 . 1 9 2 4 ), Ġ// Root Ġof ĠGu jar at ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng ( 1 9 . 7 5 1 5 , Ġ 7 5 . 7 1 3 9 ), Ġ// Root Ġof ĠM ah ar ash tra ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdestination ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). color Ġ= ĠR . color . purple _ 2 0 0 Ġ// Polyline Ġcolor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun Ġremember MapView With Life Cycle (): MapView { ĊĠĠĠ Ġval Ġctx Ġ= ĠLocal Context . current ĊĠĠĠ Ġval Ġmap View Ġ= Ġremember Ġ{ ĊĠĠĠĠĠĠĠ ĠMap View ( ctx ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġcom . google . maps . android . k tx . R . id . map _ frame ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġlife Cycle Observer Ġ= Ġremember Map Life Cycle Observer ( map View Ġ= Ġmap View ) ĊĠĠĠ Ġval Ġlife Cycle Ġ= ĠLocal Lifecycle Owner . current . lifecycle ĊĠĠĠ ĠDis posable Effect ( key 1 Ġ= Ġlife Cycle , Ġeffect Ġ= Ġ{ ĊĠĠĠĠĠĠĠ Ġlife Cycle . add Observer ( life Cycle Observer ) ĊĠĠĠĠĠĠĠ Ġon Dispose Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlife Cycle . remove Observer ( life Cycle Observer ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) ĊĠĠĠ Ġreturn Ġmap View Ċ } Ċ Ċ @ Composable Ċ fun Ġremember Map Life Cycle Observer ( map View : MapView ): Lifecycle Event Observer Ġ= Ġremember ( map View ) Ġ{ ĊĠĠĠ ĠLifecycle Event Observer Ġ{ Ġ_, Ġevent Ġ-> ĊĠĠĠĠĠĠĠ Ġwhen ( event ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLifecycle . Event . ON _ CREATE Ġ-> Ġmap View . onCreate ( Bundle ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLifecycle . Event . ON _ START Ġ-> Ġmap View . onStart () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLifecycle . Event . ON _ RE SU ME Ġ-> Ġmap View . on Resume () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLifecycle . Event . ON _ PAUSE Ġ-> Ġmap View . on Pause () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLifecycle . Event . ON _ STOP Ġ-> Ġmap View . on Stop () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLifecycle . Event . ON _ DESTROY Ġ-> Ġmap View . on Destroy () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }