package Ġcom . the peak lab . module . wind y kotlin . core Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Log Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . the peak lab . module . wind y kotlin . core . models . Coordinate Ċ import Ġcom . the peak lab . module . wind y kotlin . core . models . Marker Ċ import Ġcom . the peak lab . module . wind y kotlin . core . models . Wind y Init Options Ċ import Ġcom . the peak lab . module . wind y kotlin . core . models . Wind y Zoom Pan Options Ċ import Ġjava . util . UUID Ċ Ċ /** Ċ Ġ* ĠWind y HTML Resources Ċ Ġ* ĠWind y Ċ Ġ* Ċ Ġ* ĠCreated Ġby ĠThomas ĠC ir ks ena Ġon Ġ 2 0 1 9 - 1 1 - 1 9 . Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 9 Ġthe Ġpeak Ġlab . Ġg mb h Ġ& Ġco . Ġk g . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ Ċ object ĠWind y HTML Resources Ġ{ ĊĊĠĠĠ Ġfun Ġindex HTML ( options : ĠWind y Init Options ): ĠString Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġgson Ġ= ĠGson () ĊĠĠĠĠĠĠĠ Ġval Ġoptions JSON String Ġ= Ġgson . toJson ( options ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ"< html >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠ Ġ< head >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< meta \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname =\" viewport \"\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent =\" width = device - width , Ġinitial - scale = 1 . 0 , Ġshrink - to - fit = no \"\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/>\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< script Ġsrc =\" https :// un pkg . com / leaflet @ 1 . 4 . 0 / dist / leaflet . js \"></ script >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< script Ġsrc =\" https :// api 4 . wind y . com / assets / lib Boot . js \"></ script >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< style >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbody Ġ{\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpadding : Ġ 0 ;\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmargin : Ġ 0 ;\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhtml , Ġbody , Ġ# wind y Ġ{\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight : Ġ 1 0 0 %; \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth : Ġ 1 0 0 %; \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhtml Ġbody . wind y - logo - invisible Ġa # logo Ġ{\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay : Ġnone Ġ! important ;\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiv # mobile - ov r - select , Ġdiv # embed - zoom , Ġdiv # bottom , Ġdiv # wind y - app - promo Ġ{\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay : Ġnone Ġ! important ;\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ style >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠ Ġ</ head >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠ Ġ< body >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< div Ġid =\" wind y \"></ div >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< script Ġtype =\" text / javascript \">\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconst Ġoptions Ġ= ĠJSON . parse ('$ options JSON String '); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġglobal Map ;\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmarkers Ġ= Ġ{}; \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfunction Ġsend Native Message ( name , Ġoptions Ġ= Ġ{}) Ġ{\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġobj Ġ= Ġ{\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname : Ġname ,\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoptions : Ġoptions \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}; \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJ SB ridge . postMessage ( JSON . stringify ( obj )); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠInitialize ĠWind y ĠAPI \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwind y Init ( options , Ġwind y API Ġ=> Ġ{\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconst Ġ{ Ġmap , Ġbroadcast Ġ} Ġ= Ġwind y API ;\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġglobal Map Ġ= Ġmap ;\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlet Ġevents Ġ= Ġ[\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' zoom start ', \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' zoom end ', \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' mov est art ', \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' move end ', \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' zoom ', \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' move '\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ]; \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevents . forEach ( function ( event ) Ġ{\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap . on ( event , Ġparams Ġ=> Ġ{\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend Native Message ( event , Ġ{\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbounds : Ġmap . get Bounds ()\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend Native Message (' initialize ', Ġ{\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbounds : Ġmap . get Bounds ()\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ script >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠ Ġ</ body >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠ Ġ</ html >" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġindex HTML ( apiKey : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġindex HTML ( options Ġ= ĠWind y Init Options ( apiKey )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġpan To J SS n ippet ( coordinate : ĠCoordinate , Ġoptions : ĠWind y Zoom Pan Options ?): ĠString Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġoptions JSON String Ġ= Ġoptions ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgson Ġ= ĠGson () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"," Ġ+ Ġgson . toJson ( options ) ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġ"" ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ" global Map . pan To ( new ĠL . LatLng (${ coordinate . lat }, Ġ${ coordinate . lng }) $ options JSON String ); 0 ;" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Zoom J SS n ippet ( zoom : ĠInt , Ġoptions : ĠWind y Zoom Pan Options ?): ĠString Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġoptions JSON String Ġ= Ġoptions ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgson Ġ= ĠGson () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgson . toJson ( options ) ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġ"" ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ" global Map . set Zoom ($ zoom , Ġ$ options JSON String ); 0 ;" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfit Bounds J SS n ippet ( coordinates : ĠList < Coordinate >): ĠString Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġcoordinates Array Ġ= Ġcoordinates . map Ġ{ ĠarrayOf ( it . lat , Ġit . lng ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġgson Ġ= ĠGson () ĊĠĠĠĠĠĠĠ Ġval Ġjson String Array Ġ= Ġgson . toJson ( coordinates Array ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ" global Map . fit Bounds ($ json String Array ); 0 ;" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Center J SS n ippet (): ĠString Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ" global Map . get Center (); " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġdecode Ġjavascript Ġobject Ġto Ġkotlin Ġclass ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġcast ed Ġobject Ġor Ġnull ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġ< T > Ġdecode JavaScript Object ( js Object : ĠString , Ġc : ĠClass < T >): ĠT ? Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgson Ġ= ĠGson () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġde codes Object Ġ= Ġgson . fromJson ( js Object , Ġc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġde codes Object ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Wind y MapView ", Ġe . message , Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Marker J SS n ippet ( context : ĠContext , Ġmarker : ĠMarker ): ĠString Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġicon DTO Ġ= Ġmarker . icon . to Wind y Dto ( context , Ġmarker . uuid ) ĊĊĠĠĠĠĠĠĠ Ġval Ġgson Ġ= ĠGson () ĊĠĠĠĠĠĠĠ Ġval Ġwind y Icon JSON Ġ= Ġgson . toJson ( icon DTO ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ" var Ġicon Ġ= ĠL . icon ($ wind y Icon JSON );\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" var Ġmarker Ġ= ĠL . marker ([ ${ marker . coordinate . lat }, Ġ${ marker . coordinate . lng }], Ġ{ icon : Ġicon }); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" marker . uuid Ġ= Ġ\" ${ marker . uuid }\ "; \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" marker . addTo ( global Map );\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" marker . on (' click ', Ġfunction ( e ) Ġ{\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠ Ġsend Native Message (' marker click ', Ġ{\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠ Ġbounds : Ġglobal Map . get Bounds (), \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠ Ġuuid : Ġthis . uuid \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠ Ġ}); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" markers [ marker . uuid ] Ġ= Ġmarker ;\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 ;" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove Marker J SS n ippet ( uuid : ĠUUID ): ĠString Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ" var Ġmarker Ġ= Ġmarkers [\" $ uuid \" ]; \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" if Ġ( marker ) Ġ{\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠ Ġglobal Map . remove Layer ( marker );\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 ;; " ĊĠĠĠ Ġ} Ċ }