/* Ċ Ġ* ĉ Copyright Ġ 2 0 2 1 ĠL Sa fer Ċ Ġ* Ċ Ġ* ĉ Licensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* ĉ you Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĉ You Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĉĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĉ Unless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* ĉ distributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĉ WITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĉ See Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* ĉ limitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġnet . l sa fer . compose var ious . comp osable Ċ Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . platform . Local Context Ċ import Ġandroidx . compose . ui . view interop . Android View Ċ import Ġandroidx . compose . ui . view interop . No Op Update Ċ import Ġcom . google . android . gms . maps . Google Map Ċ import Ġcom . google . android . gms . maps . Support Map Fragment Ċ import Ġnet . l sa fer . compose var ious . R Ċ import Ġnet . l sa fer . compose var ious . databinding . G maps Binding Ċ Ċ @ Composable Ċ fun ĠGoogle Map Composable ( ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , ĊĠĠĠ Ġon Map Init : Ġ(( Google Map ) Ġ-> ĠUnit )? Ġ= Ġ{}, ĊĠĠĠ Ġon Map Loaded : Ġ(( Google Map ) Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ ĠonUpdate : Ġ( View ) Ġ-> ĠUnit Ġ= ĠNo Op Update Ċ ) Ġ{ ĊĠĠĠ Ġval Ġactivity Ġ= ĠLocal Context . current Ġas ĠAppCompatActivity ĊĊĠĠĠ Ġval Ġfragment Ġ= Ġremember Ġ{ ĊĠĠĠĠĠĠĠ ĠG maps Binding . inflate ( activity . layout Inflater ) ĊĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= Ġactivity . support FragmentManager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. find Fragment ById ( R . id . map ) Ġas ĠSupport Map Fragment ĊĊĠĠĠĠĠĠĠ Ġif Ġ( on Map Init Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . getMap Async ( on Map Init ) ĊĊĠĠĠĠĠĠĠ Ġfragment ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( on Map Loaded Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ Ġfragment . getMap Async ( on Map Loaded ) ĊĊĠĠĠ ĠAndroid View ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier , ĊĠĠĠĠĠĠĠ Ġfactory Ġ= Ġ{ Ġfragment . require View () Ġ}, ĊĠĠĠĠĠĠĠ Ġupdate Ġ= ĠonUpdate ĊĠĠĠ Ġ) Ċ } Ċ