package Ġcom . m ire go . cs map application . fragment Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . annotation . Drawable Res Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 4 . content . res . Resources Compat Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . android . vol ley . Request Ċ import Ġcom . android . vol ley . Response Ċ import Ġcom . android . vol ley . toolbox . JsonArray Request Ċ import Ġcom . android . vol ley . toolbox . Vol ley Ċ import Ġcom . google . android . gms . maps . Google Map Ċ import Ġcom . google . android . gms . maps . On Map Ready Callback Ċ import Ġcom . google . android . gms . maps . model . Bitmap Descriptor Ċ import Ġcom . google . android . gms . maps . model . Bitmap Descriptor Factory Ċ import Ġcom . google . android . gms . maps . model . LatLng Ċ import Ġcom . google . android . gms . maps . model . Marker Options Ċ import Ġcom . m ire go . cs map application . R Ċ import Ġkotlinx . android . synt hetic . main . fragment _ map .* Ċ import Ġkotlinx . android . synt hetic . main . fragment _ map . view .* ĊĊ Ċ class ĠMap Segment Fragment Ġ: ĠFragment (), ĠOn Map Ready Callback Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ map , Ġcontainer , Ġfalse ). also Ġ{ Ġmap Segment View Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Segment View . map View . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Segment View . map View . getMap Async Ġ{ Ġmap Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap . add Marker ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMarker Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. position ( LatLng ( 4 6 . 7 7 9 4 2 0 1 ,- 7 1 . 2 7 7 8 7 0 3 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. title (" Test ĠO pin ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. icon ( create Pin For Part ( R . drawable . ic _ part _ bul b )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġmap View . on Resume () ĊĊĠĠĠĠĠĠĠ Ġvar Ġrequest Queue Ġ= ĠVol ley . new Request Queue ( this . context ) ĊĊĠĠĠĠĠĠĠ Ġval Ġjson Array Request Ġ= ĠJson Array Request ( Request . Method . GET , Ġresources . getString ( R . string . pieces _ url ), Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResponse . Listener Ġ{ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġresponse . length ()) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpiece Ġ= Ġresponse . getJSONObject ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġpiece . getString (" name ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġpiece . getString (" type ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! piece . isNull (" lat ") Ġ&& Ġ! piece . isNull (" lon ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlat Ġ= Ġpiece . getDouble (" lat ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlon Ġ= Ġpiece . getDouble (" lon ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġresource Id Ġ= Ġcontext ?. resources ?. getIdentifier (" ic _ part _" Ġ+ Ġtype , Ġ" drawable ", Ġcontext ?. packageName ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresource Id ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . map View . getMap Async Ġ{ Ġmap Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap . add Marker ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMarker Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. position ( LatLng ( lat , Ġlon )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. title ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. icon ( create Pin For Part ( resourceId )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResponse . Error Listener Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Something Ġhere ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠHandle Ġerror ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġrequest Queue . add ( json Array Request ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Map Ready ( p 0 : ĠGoogle Map ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠNothing Ġto Ġdo Ġhere ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Pin For Part (@ Drawable Res Ġpart Res Id : ĠInt ): ĠBitmap Descriptor Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġpin Drawable Ġ= ĠResources Compat . get Drawable ( resources , ĠR . drawable . ic _ pin , Ġnull ) ĊĠĠĠĠĠĠĠ Ġval Ġpart Drawable Ġ= ĠResources Compat . get Drawable ( resources , Ġpart Res Id , Ġnull ) !! ĊĊĠĠĠĠĠĠĠ Ġval Ġbitmap Ġ= ĠBitmap . create Bitmap ( pin Drawable !!. intrinsic Width , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpin Drawable . intrinsic Height , ĠBitmap . Config . ARGB _ 8 8 8 8 ) ĊĠĠĠĠĠĠĠ Ġval Ġcanvas Ġ= ĠCanvas ( bitmap ) ĊĊĠĠĠĠĠĠĠ Ġpin Drawable . setBounds ( 0 , Ġ 0 , Ġcanvas . width , Ġcanvas . height ) ĊĠĠĠĠĠĠĠ Ġpin Drawable . draw ( canvas ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpart Margin Ġ= Ġcanvas . width Ġ/ Ġ 4 ĊĠĠĠĠĠĠĠ Ġval Ġpart Size Ġ= Ġcanvas . width Ġ- Ġpart Margin ĊĠĠĠĠĠĠĠ Ġpart Drawable . setBounds ( part Margin , Ġpart Margin , Ġpart Size , Ġpart Size ) ĊĠĠĠĠĠĠĠ Ġpart Drawable . draw ( canvas ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠBitmap Descriptor Factory . from Bitmap ( bitmap ) ĊĠĠĠ Ġ} Ċ } Ċ