// ĠCopyright Ġ 2 0 2 0 ĠGoogle ĠLLC Ċ // Ċ // Ġ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 Ġcom . example . poly gons Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . google . android . gms . maps . Camera Update Factory Ċ import Ġcom . google . android . gms . maps . Google Map Ċ import Ġcom . google . android . gms . maps . Google Map . On Polygon ClickListener Ċ import Ġcom . google . android . gms . maps . Google Map . On Polyline ClickListener Ċ 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 . Bitmap Descriptor Factory Ċ import Ġcom . google . android . gms . maps . model . Custom Cap Ċ import Ġcom . google . android . gms . maps . model . Dash Ċ import Ġcom . google . android . gms . maps . model . Dot Ċ import Ġcom . google . android . gms . maps . model . Gap Ċ import Ġcom . google . android . gms . maps . model . Joint Type Ċ import Ġcom . google . android . gms . maps . model . LatLng Ċ import Ġcom . google . android . gms . maps . model . Pattern Item Ċ import Ġcom . google . android . gms . maps . model . Polygon Ċ import Ġcom . google . android . gms . maps . model . Polygon Options Ċ import Ġcom . google . android . gms . maps . model . Polyline Ċ import Ġcom . google . android . gms . maps . model . Polyline Options Ċ import Ġcom . google . android . gms . maps . model . Round Cap Ċ Ċ /** Ċ Ġ* ĠAn Ġactivity Ġthat Ġdisplays Ġa ĠGoogle Ġmap Ġwith Ġpoly lines Ġto Ġrepresent Ġpaths Ġor Ġroutes , Ċ Ġ* Ġand Ġpoly gons Ġto Ġrepresent Ġareas . Ċ Ġ*/ Ċ // Ġ[ START Ġmaps _ poly _ activity _ on _ map _ ready ] Ċ class ĠPoly Activity Ġ: ĠAppCompatActivity (), ĠOn Map Ready Callback , ĠOn Polyline ClickListener , ĠOn Polygon ClickListener Ġ{ ĊĊĠĠĠ Ġ// Ġ[ START ĠEX CL UDE ] ĊĠĠĠ Ġ// Ġ[ START Ġmaps _ poly _ activity _ get _ map _ async ] ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRetrieve Ġthe Ġcontent Ġview Ġthat Ġrenders Ġthe Ġmap . ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ maps ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġthe ĠSupport Map Fragment Ġand Ġrequest Ġnotification Ġwhen Ġthe Ġmap Ġis Ġready Ġto Ġbe Ġused . ĊĠĠĠĠĠĠĠ Ġval Ġmap Fragment Ġ= Ġsupport FragmentManager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. find Fragment ById ( R . id . map ) Ġas ĠSupport Map Fragment ? ĊĠĠĠĠĠĠĠ Ġmap Fragment ?. getMap Async ( this ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// Ġ[ END Ġmaps _ poly _ activity _ get _ map _ async ] ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMan ip ulates Ġthe Ġmap Ġwhen Ġit 's Ġavailable . ĊĠĠĠĠ Ġ* ĠThe ĠAPI Ġinvokes Ġthis Ġcallback Ġwhen Ġthe Ġmap Ġis Ġready Ġto Ġbe Ġused . ĊĠĠĠĠ Ġ* ĠThis Ġis Ġwhere Ġwe Ġcan Ġadd Ġmarkers Ġor Ġlines , Ġadd Ġlisteners Ġor Ġmove Ġthe Ġcamera . ĊĠĠĠĠ Ġ* ĠIn Ġthis Ġtutorial , Ġwe Ġadd Ġpoly lines Ġand Ġpoly gons Ġto Ġrepresent Ġroutes Ġand Ġareas Ġon Ġthe Ġmap . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ// Ġ[ END ĠEX CL UDE ] ĊĠĠĠ Ġoverride Ġfun Ġon Map Ready ( google Map : ĠGoogle Map ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// ĠAdd Ġpoly lines Ġto Ġthe Ġmap . ĊĠĠĠĠĠĠĠ Ġ// ĠPoly lines Ġare Ġuseful Ġto Ġshow Ġa Ġroute Ġor Ġsome Ġother Ġconnection Ġbetween Ġpoints . ĊĠĠĠĠĠĠĠ Ġ// Ġ[ START Ġmaps _ poly _ activity _ add _ poly line _ set _ tag ] ĊĠĠĠĠĠĠĠ Ġ// Ġ[ START Ġmaps _ poly _ activity _ add _ poly line ] ĊĠĠĠĠĠĠĠ Ġval Ġpoly line 1 Ġ= Ġgoogle Map . add Polyline ( Polyline Options () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 3 5 . 0 1 6 , Ġ 1 4 3 . 3 2 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 3 4 . 7 4 7 , Ġ 1 4 5 . 5 9 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 3 4 . 3 6 4 , Ġ 1 4 7 . 8 9 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 3 3 . 5 0 1 , Ġ 1 5 0 . 2 1 7 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 3 2 . 3 0 6 , Ġ 1 4 9 . 2 4 8 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 3 2 . 4 9 1 , Ġ 1 4 7 . 3 0 9 ))) ĊĠĠĠĠĠĠĠ Ġ// Ġ[ END Ġmaps _ poly _ activity _ add _ poly line ] ĊĠĠĠĠĠĠĠ Ġ// Ġ[ START _ EXCL UDE Ġsilent ] ĊĠĠĠĠĠĠĠ Ġ// ĠStore Ġa Ġdata Ġobject Ġwith Ġthe Ġpoly line , Ġused Ġhere Ġto Ġindicate Ġan Ġarbitrary Ġtype . ĊĠĠĠĠĠĠĠ Ġpoly line 1 . tag Ġ= Ġ" A " ĊĠĠĠĠĠĠĠ Ġ// Ġ[ END Ġmaps _ poly _ activity _ add _ poly line _ set _ tag ] ĊĠĠĠĠĠĠĠ Ġ// ĠStyle Ġthe Ġpoly line . ĊĠĠĠĠĠĠĠ Ġstyle Polyline ( poly line 1 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpoly line 2 Ġ= Ġgoogle Map . add Polyline ( Polyline Options () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 2 9 . 5 0 1 , Ġ 1 1 9 . 7 0 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 2 7 . 4 5 6 , Ġ 1 1 9 . 6 7 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 2 5 . 9 7 1 , Ġ 1 2 4 . 1 8 7 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 2 8 . 0 8 1 , Ġ 1 2 6 . 5 5 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 2 8 . 8 4 8 , Ġ 1 2 4 . 2 2 9 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 2 8 . 2 1 5 , Ġ 1 2 3 . 9 3 8 ))) ĊĠĠĠĠĠĠĠ Ġpoly line 2 . tag Ġ= Ġ" B " ĊĠĠĠĠĠĠĠ Ġstyle Polyline ( poly line 2 ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ[ START Ġmaps _ poly _ activity _ add _ polygon ] ĊĠĠĠĠĠĠĠ Ġ// ĠAdd Ġpoly gons Ġto Ġindicate Ġareas Ġon Ġthe Ġmap . ĊĠĠĠĠĠĠĠ Ġval Ġpolygon 1 Ġ= Ġgoogle Map . add Polygon ( Polygon Options () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 2 7 . 4 5 7 , Ġ 1 5 3 . 0 4 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 3 3 . 8 5 2 , Ġ 1 5 1 . 2 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 3 7 . 8 1 3 , Ġ 1 4 4 . 9 6 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 3 4 . 9 2 8 , Ġ 1 3 8 . 5 9 9 ))) ĊĠĠĠĠĠĠĠ Ġ// ĠStore Ġa Ġdata Ġobject Ġwith Ġthe Ġpolygon , Ġused Ġhere Ġto Ġindicate Ġan Ġarbitrary Ġtype . ĊĠĠĠĠĠĠĠ Ġpolygon 1 . tag Ġ= Ġ" alpha " ĊĠĠĠĠĠĠĠ Ġ// ĠStyle Ġthe Ġpolygon . ĊĠĠĠĠĠĠĠ Ġ// Ġ[ END Ġmaps _ poly _ activity _ add _ polygon ] ĊĠĠĠĠĠĠĠ Ġstyle Polygon ( polygon 1 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpolygon 2 Ġ= Ġgoogle Map . add Polygon ( Polygon Options () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 3 1 . 6 7 3 , Ġ 1 2 8 . 8 9 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 3 1 . 9 5 2 , Ġ 1 1 5 . 8 5 7 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 1 7 . 7 8 5 , Ġ 1 2 2 . 2 5 8 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng (- 1 2 . 4 2 5 8 , Ġ 1 3 0 . 7 9 3 2 ))) ĊĠĠĠĠĠĠĠ Ġpolygon 2 . tag Ġ= Ġ" beta " ĊĠĠĠĠĠĠĠ Ġstyle Polygon ( polygon 2 ) ĊĠĠĠĠĠĠĠ Ġ// Ġ[ END _ EXCL UDE ] ĊĊĠĠĠĠĠĠĠ Ġ// ĠPosition Ġthe Ġmap 's Ġcamera Ġnear ĠAlice ĠSpr ings Ġin Ġthe Ġcenter Ġof ĠA ustralia , ĊĠĠĠĠĠĠĠ Ġ// Ġand Ġset Ġthe Ġzoom Ġfactor Ġso Ġmost Ġof ĠA ustralia Ġshows Ġon Ġthe Ġscreen . ĊĠĠĠĠĠĠĠ Ġgoogle Map . move Camera ( Camera Update Factory . new LatLng Zoom ( LatLng (- 2 3 . 6 8 4 , Ġ 1 3 3 . 9 0 3 ), Ġ 4 f )) ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġlisteners Ġfor Ġclick Ġevents . ĊĠĠĠĠĠĠĠ Ġgoogle Map . setOn Polyline ClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġgoogle Map . setOn Polygon ClickListener ( this ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// Ġ[ END Ġmaps _ poly _ activity _ on _ map _ ready ] ĊĊĠĠĠ Ġ// Ġ[ START Ġmaps _ poly _ activity _ style _ poly line ] ĊĠĠĠ Ġprivate Ġval ĠCOLOR _ BLACK _ ARGB Ġ= Ġ- 0 x 1 0 0 0 0 0 0 ĊĠĠĠ Ġprivate Ġval ĠPOL Y LINE _ ST RO KE _ WIDTH _ PX Ġ= Ġ 1 2 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠStyles Ġthe Ġpoly line , Ġbased Ġon Ġtype . ĊĠĠĠĠ Ġ* Ġ@ param Ġpoly line ĠThe Ġpoly line Ġobject Ġthat Ġneeds Ġstyling . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġstyle Polyline ( poly line : ĠPoly line ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġthe Ġdata Ġobject Ġstored Ġwith Ġthe Ġpoly line . ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġpoly line . tag ?. toString () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" A " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠUse Ġa Ġcustom Ġbitmap Ġas Ġthe Ġcap Ġat Ġthe Ġstart Ġof Ġthe Ġline . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpoly line . start Cap Ġ= ĠCustom Cap ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap Descriptor Factory . from Resource ( R . drawable . ic _ arrow ), Ġ 1 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" B " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠUse Ġa Ġround Ġcap Ġat Ġthe Ġstart Ġof Ġthe Ġline . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpoly line . start Cap Ġ= ĠRound Cap () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġpoly line . end Cap Ġ= ĠRound Cap () ĊĠĠĠĠĠĠĠ Ġpoly line . width Ġ= ĠPOL Y LINE _ ST RO KE _ WIDTH _ PX . toFloat () ĊĠĠĠĠĠĠĠ Ġpoly line . color Ġ= ĠCOLOR _ BLACK _ ARGB ĊĠĠĠĠĠĠĠ Ġpoly line . joint Type Ġ= ĠJoint Type . ROUND ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// Ġ[ END Ġmaps _ poly _ activity _ style _ poly line ] ĊĊĠĠĠ Ġ// Ġ[ START Ġmaps _ poly _ activity _ on _ poly line _ click ] ĊĠĠĠ Ġprivate Ġval ĠP ATTERN _ GAP _ LENGTH _ PX Ġ= Ġ 2 0 ĊĠĠĠ Ġprivate Ġval ĠDOT : ĠPattern Item Ġ= ĠDot () ĊĠĠĠ Ġprivate Ġval ĠG AP : ĠPattern Item Ġ= ĠG ap ( PATTERN _ GAP _ LENGTH _ PX . toFloat ()) ĊĊĠĠĠ Ġ// ĠCreate Ġa Ġstroke Ġpattern Ġof Ġa Ġgap Ġfollowed Ġby Ġa Ġdot . ĊĠĠĠ Ġprivate Ġval ĠP ATTERN _ POLY LINE _ DOT TED Ġ= ĠlistOf ( GAP , ĠDOT ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠList ens Ġfor Ġclicks Ġon Ġa Ġpoly line . ĊĠĠĠĠ Ġ* Ġ@ param Ġpoly line ĠThe Ġpoly line Ġobject Ġthat Ġthe Ġuser Ġhas Ġclicked . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Polyline Click ( poly line : ĠPoly line ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠFlip Ġfrom Ġsolid Ġstroke Ġto Ġdotted Ġstroke Ġpattern . ĊĠĠĠĠĠĠĠ Ġif Ġ( poly line . pattern Ġ== Ġnull Ġ|| Ġ! poly line . pattern !!. contains ( DOT )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpoly line . pattern Ġ= ĠP ATTERN _ POLY LINE _ DOT TED ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThe Ġdefault Ġpattern Ġis Ġa Ġsolid Ġstroke . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpoly line . pattern Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Route Ġtype Ġ" Ġ+ Ġpoly line . tag . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// Ġ[ END Ġmaps _ poly _ activity _ on _ poly line _ click ] ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠList ens Ġfor Ġclicks Ġon Ġa Ġpolygon . ĊĠĠĠĠ Ġ* Ġ@ param Ġpolygon ĠThe Ġpolygon Ġobject Ġthat Ġthe Ġuser Ġhas Ġclicked . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Polygon Click ( polygon : ĠPolygon ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠFlip Ġthe Ġvalues Ġof Ġthe Ġred , Ġgreen , Ġand Ġblue Ġcomponents Ġof Ġthe Ġpolygon 's Ġcolor . ĊĠĠĠĠĠĠĠ Ġvar Ġcolor Ġ= Ġpolygon . stroke Color Ġxor Ġ 0 x 0 0 ffffff ĊĠĠĠĠĠĠĠ Ġpolygon . stroke Color Ġ= Ġcolor ĊĠĠĠĠĠĠĠ Ġcolor Ġ= Ġpolygon . fill Color Ġxor Ġ 0 x 0 0 ffffff ĊĠĠĠĠĠĠĠ Ġpolygon . fill Color Ġ= Ġcolor ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Area Ġtype Ġ${ polygon . tag ?. toString () }", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ[ START Ġmaps _ poly _ activity _ style _ polygon ] ĊĠĠĠ Ġprivate Ġval ĠCOLOR _ WHITE _ ARGB Ġ= Ġ- 0 x 1 ĊĠĠĠ Ġprivate Ġval ĠCOLOR _ GREEN _ ARGB Ġ= Ġ- 0 xc 7 7 1 c 4 ĊĠĠĠ Ġprivate Ġval ĠCOLOR _ PUR PLE _ ARGB Ġ= Ġ- 0 x 7 e 3 8 7 c ĊĠĠĠ Ġprivate Ġval ĠCOLOR _ OR ANGE _ ARGB Ġ= Ġ- 0 xa 8 0 e 9 ĊĠĠĠ Ġprivate Ġval ĠCOLOR _ BLUE _ ARGB Ġ= Ġ- 0 x 6 5 7 db ĊĠĠĠ Ġprivate Ġval ĠPOL YGON _ ST RO KE _ WIDTH _ PX Ġ= Ġ 8 ĊĠĠĠ Ġprivate Ġval ĠP ATTERN _ DASH _ LENGTH _ PX Ġ= Ġ 2 0 ĊĊĠĠĠ Ġprivate Ġval ĠD ASH : ĠPattern Item Ġ= ĠDash ( PATTERN _ DASH _ LENGTH _ PX . toFloat ()) ĊĊĠĠĠ Ġ// ĠCreate Ġa Ġstroke Ġpattern Ġof Ġa Ġgap Ġfollowed Ġby Ġa Ġdash . ĊĠĠĠ Ġprivate Ġval ĠP ATTERN _ POLYGON _ ALPHA Ġ= ĠlistOf ( GAP , ĠD ASH ) ĊĊĠĠĠ Ġ// ĠCreate Ġa Ġstroke Ġpattern Ġof Ġa Ġdot Ġfollowed Ġby Ġa Ġgap , Ġa Ġdash , Ġand Ġanother Ġgap . ĊĠĠĠ Ġprivate Ġval ĠP ATTERN _ POLYGON _ B ETA Ġ= ĠlistOf ( DOT , ĠG AP , ĠD ASH , ĠG AP ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠStyles Ġthe Ġpolygon , Ġbased Ġon Ġtype . ĊĠĠĠĠ Ġ* Ġ@ param Ġpolygon ĠThe Ġpolygon Ġobject Ġthat Ġneeds Ġstyling . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġstyle Polygon ( polygon : ĠPolygon ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġthe Ġdata Ġobject Ġstored Ġwith Ġthe Ġpolygon . ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġpolygon . tag ?. toString () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġpattern : ĠList < Pattern Item >? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġstroke Color Ġ= ĠCOLOR _ BLACK _ ARGB ĊĠĠĠĠĠĠĠ Ġvar Ġfill Color Ġ= ĠCOLOR _ WHITE _ ARGB ĊĠĠĠĠĠĠĠ Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" alpha " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠApply Ġa Ġstroke Ġpattern Ġto Ġrender Ġa Ġdas hed Ġline , Ġand Ġdefine Ġcolors . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpattern Ġ= ĠP ATTERN _ POLYGON _ ALPHA ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstroke Color Ġ= ĠCOLOR _ GREEN _ ARGB ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfill Color Ġ= ĠCOLOR _ PUR PLE _ ARGB ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" beta " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠApply Ġa Ġstroke Ġpattern Ġto Ġrender Ġa Ġline Ġof Ġdots Ġand Ġdas hes , Ġand Ġdefine Ġcolors . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpattern Ġ= ĠP ATTERN _ POLYGON _ B ETA ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstroke Color Ġ= ĠCOLOR _ OR ANGE _ ARGB ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfill Color Ġ= ĠCOLOR _ BLUE _ ARGB ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġpolygon . stroke Pattern Ġ= Ġpattern ĊĠĠĠĠĠĠĠ Ġpolygon . stroke Width Ġ= ĠPOL YGON _ ST RO KE _ WIDTH _ PX . toFloat () ĊĠĠĠĠĠĠĠ Ġpolygon . stroke Color Ġ= Ġstroke Color ĊĠĠĠĠĠĠĠ Ġpolygon . fill Color Ġ= Ġfill Color ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// Ġ[ END Ġmaps _ poly _ activity _ style _ polygon ] Ċ } Ċ