package Ġcom . demos . maps . h ms Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . KeyEvent Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . annotation . String Res Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . demos . maps . R Ċ import Ġcom . hu awei . h ms . maps . Camera Update Factory Ċ import Ġcom . hu awei . h ms . maps . Hu awei Map Ċ import Ġcom . hu awei . h ms . maps . Support Map Fragment Ċ import Ġcom . hu awei . h ms . maps . model . LatLng Ċ import Ġcom . hu awei . h ms . maps . model . Marker Options Ċ import Ġcom . hu awei . h ms . site . api . SearchResult Listener Ċ import Ġcom . hu awei . h ms . site . api . Search Service Ċ import Ġcom . hu awei . h ms . site . api . Search Service Factory Ċ import Ġcom . hu awei . h ms . site . api . model . Coordinate Ċ import Ġcom . hu awei . h ms . site . api . model . Search Status Ċ import Ġcom . hu awei . h ms . site . api . model . Text Search Request Ċ import Ġcom . hu awei . h ms . site . api . model . Text Search Response Ċ import Ġjava . io . IOException Ċ Ċ class ĠGeo coding Demo Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmap : ĠHu awei Map ĊĊĠĠĠ Ġprivate Ġval Ġsearch Service : ĠSearch Service Ġby Ġlazy Ġ{ ĠSearch Service Factory . create ( this ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ geo coding _ demo _ h ms ) ĊĊĠĠĠĠĠĠĠ Ġ( support FragmentManager . find Fragment ById ( R . id . map ) Ġas ĠSupport Map Fragment ). getMap Async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠfindViewById < EditText >( R . id . query )?. let Ġ{ Ġedit Text Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text . setOn Key Listener Ġ{ Ġ_, ĠkeyCode , Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( keyCode Ġ== ĠKeyEvent . KEYCODE _ ENTER Ġ&& Ġevent . action Ġ== ĠKeyEvent . ACTION _ UP ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To Address ( edit Text . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text . text . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOn Key Listener Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmove To Address ( address : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtext Search Request Ġ= ĠText Search Request (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery Ġ= Ġaddress ĊĠĠĠĠĠĠĠĠĠĠĠ ĠpageSize Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsearch Service . text Search ( text Search Request , Ġobject Ġ: ĠSearch Result Listener < Text Search Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Search Error ( status : ĠSearch Status ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus ?. errorMessage ?. let Ġ{ Ġtoast ( it ) Ġ} Ġ?: Ġtoast ( R . string . error ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon SearchResult ( response : ĠText Search Response ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse ?. sites ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . get OrNull ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . location ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . set Marker () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . center Camera () Ġ?: Ġtoast ( R . string . error ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠCoordinate . set Marker (): ĠCoordinate Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġposition Ġ= ĠLat Lng ( lat , Ġlng ) ĊĠĠĠĠĠĠĠ Ġval Ġmarker Ġ= ĠMarker Options (). position ( position ) ĊĠĠĠĠĠĠĠ Ġmap . add Marker ( marker ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠCoordinate . center Camera (): ĠCoordinate Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġposition Ġ= ĠLat Lng ( lat , Ġlng ) ĊĠĠĠĠĠĠĠ Ġval Ġcamera Position Ġ= ĠCamera Update Factory . new LatLng ( position ) ĊĠĠĠĠĠĠĠ Ġmap . move Camera ( camera Position ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtoast (@ String Res Ġid : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġid , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtoast ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġmessage , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} Ċ }