MapKit Search: рдЯрд┐рдкреНрд╕ рдПрдВрдб рдЯреНрд░рд┐рдХреНрд╕


MapKit рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдореИрдк рдбреЗрдЯрд╛ рдФрд░ Yandex рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдкреАрдЖрдИ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдЬ рд╣рдо рдХреБрдЫ рдФрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред


рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВ Habr рдкрд╛рдардХреЛрдВ рдХреЛ MapKit рдореЗрдВ рдЦреЛрдЬ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ рдФрд░ рдЙрди рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдФрд░ рдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред


TL, DR рдпрджрд┐ рдЖрдк рдкреВрд░реЗ рд▓реЗрдЦ рдХреЛ рдирд╣реАрдВ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рд╕реЗ рджреЛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ:


  • рд╕рддреНрд░ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛, рдЕрдиреНрдпрдерд╛ рдЦреЛрдЬ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреАред
  • рд╕рднреА рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдЬрд╛рдирдХрд╛рд░реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХреИрдлреЗ рдореЗрдВ рдкреВрд░рд╛ рдкрддрд╛, рдЦреБрд▓рдиреЗ рдХрд╛ рд╕рдордп рдпрд╛ рдХрдкреНрдкреБрдХрд┐рдиреЛ рдХрд╛ рдПрдХ рдХрдк рдЦрд░реНрдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдкрд╛рда рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд▓рд┐рдВрдХ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рд╣реЛрдВрдЧреЗ, рдЖрдИрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛рдПрдВ рдФрд░ рддрд░реАрдХреЗ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд╣реЗ рдЬрд╛рддреЗ рд╣реИрдВред


рдХреНрдпрд╛ рдЦреЛрдЬ рд╕рдХрддрд╛ рд╣реИ


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ MapKit рдореЗрдВ рдХреМрди рд╕реА рдЦреЛрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рдЖрдк рд╡рд╣рд╛рдВ рдХреБрдЫ рдвреВрдВрдврдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдореИрдк рдореИрдк рд╕реЗ рдЖрдк рдЬреЛ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдЬрдм рдЖрдк рдЦреЛрдЬ рдмрд╛рд░ "рдХреИрдлреЗ", "рд▓реЗрд╡ рдЯреЙрд▓реНрд╕реНрдЯреЙрдп рд╕реНрдЯреНрд░реАрдЯ, 16" рдпрд╛ "рдЯреНрд░рд╛рдо 3" рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ, рддрдм рдЯреЗрдХреНрд╕реНрдЯ рд╕рд░реНрдЪ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЦреЛрдЬ рдХрд╛ рд╕рдмрд╕реЗ рдкрд░рд┐рд╖реНрдХреГрдд рдкреНрд░рдХрд╛рд░ рд╣реИред рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдКрдкрд░ рдЙрдареЗ рдХрд┐ рд╡рд╣ рдЯреНрдпреВрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЬрд┐рд╕ рдорд╛рд░реНрдЧ рдпрд╛ рдорд╛рд░реНрдЧ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдЙрд╕рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреБрд░рдВрдд рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдпрджрд┐ рдкрд╣рд▓реА рдЦреЛрдЬ рдХреЗ рдмрд╛рдж рдЖрдк рдирдХреНрд╢реЗ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдЕрдиреБрд░реЛрдз ("рдПрдХ рдкреВрд▓ рдХреЗ рд╕рд╛рде рдлрд╛рд░реНрдореЗрд╕рд┐рдпреЛрдВ") рдкрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпреЗ рдлрд┐рд░ рд╕реЗ рдЕрдиреБрд░реЛрдз рд╣реИрдВ ред


рдЙрд▓реНрдЯрд╛ рдЦреЛрдЬ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрд╕ рд╕рд╡рд╛рд▓ рдкрд░ рдкрд░рд┐рдЪрд┐рдд рд╣реИ рдХрд┐ "рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реИ?"ред рдпрд╣ рдЖрдкрдХреЛ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреМрди рд╕реА рд╕рдбрд╝рдХ рдпрд╛ рдШрд░ "рдХрд░реНрд╕рд░ рдХреЗ рдиреАрдЪреЗ" рд╣реИ рдпрд╛ рдХреМрди рд╕реЗ рд╕рдВрдЧрдарди рдЗрд╕ рдмрд┐рдВрджреБ рдХреЗ рдкрд╛рд╕ рд╣реИрдВред рдЬрдм рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдвреВрдВрдврдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ URI рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдмреБрдХрдорд╛рд░реНрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдордиреЗ рдЕрдкрдирд╛ рдкрд╕рдВрджреАрджрд╛ рдХреЙрдлреА рд╣рд╛рдЙрд╕ рдкрд╛рдпрд╛, рдЗрд╕реЗ рдПрдХ рддрд╛рд░рд╛рдВрдХрди рдЪрд┐рд╣реНрди рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ - рдЕрдЧрд▓реА рдмрд╛рд░ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдпреВрдЖрд░рдЖрдИ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рд╕рдВрдЧрдарди рдХреЛ рдЦреЛрдЬрдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬрд╣рд╛рдВ рднреА рдореИрдк рд╡рд┐рдВрдбреЛ рд╕реНрдерд┐рдд рд╣реИред рди рддреЛ рд░рд┐рд╡рд░реНрд╕ рд▓реБрдХрдЕрдк рдФрд░ рди рд╣реА URI рд▓реБрдХрдЕрдк рдкреБрди: рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред


рдПрдХ рдФрд░ рдЕрд╡рд╕рд░ рдЬреЛ рдЦреЛрдЬ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ рд╡рд╣ рдЦреЛрдЬ рд╕рдВрдХреЗрдд рд╣реИ , рдЬреЛ рдЖрдкрдХреЛ рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╕рдордп рдХреНрд╡реЗрд░реА рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреВрд░рдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдФрд░ рд╕рдордп рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдХрд╣рд╛рдиреА рдХреЛ рд╕реНрдердЧрд┐рдд рдХрд░ рджреЗрдВрдЧреЗред


рдХреИрд╕реЗ рдирд┐рд╡реЗрджрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ


MapKit рдХреЗ рдХрдИ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреА рддрд░рд╣ рдЦреЛрдЬ, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд╡рд╕реНрддреБ рдЦреЛрдЬ рд╕рддреНрд░ рд╣реИ ред рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрддреЗ рд╣реИрдВред


рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛

рд▓реЗрдЦ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЛрдЯрд▓рд┐рди рдкрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рдореВрд▓реНрдпреЛрдВ рдФрд░ рдХрдо рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ред MapKit рдореЗрдВ рдПрдХ рдбреЗрдореЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП, SearchActivity рдХреЛ рдЬрд╛рд╡рд╛ рд╕реЗ SearchActivity рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред showMessage , рдЬреЛ рд╕рдордп-рд╕рдордп рдкрд░ рдХреЛрдб рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рдЖрдкрдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░реАрди рдкрд░ рдпрд╛ рд▓реЙрдЧ рдореЗрдВ рдкрд╛рда рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рд╣реИред


 // `searchManager`  `searchSession` тАУ  .    //    ,     . searchManager = SearchFactory.getInstance().createSearchManager( SearchManagerType.ONLINE ) val point = Geometry.fromPoint(Point(59.95, 30.32)) searchSession = searchManager!!.submit("", point, SearchOptions(), object: Session.SearchListener { override fun onSearchError(p0: Error) { showMessage("Error") } override fun onSearchResponse(p0: Response) { showMessage("Success") } } ) 

submit рдХреЙрд▓ submit рддреБрд░рдВрдд рдмрд╛рдж submit рдирд┐рдпрдВрддреНрд░рдг рдЖрдкрдХреЗ рдХреЛрдб рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЬрдм MapKit рдХреЛ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓рддреА рд╣реИ, рддреЛ SearchListener рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


рдЦреЛрдЬ рд╕рддреНрд░ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:


  • рдЕрдиреБрд░реЛрдз рд░рджреНрдж рдХрд░реЗрдВ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦреЛрдЬ рд╕реНрдХреНрд░реАрди рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред
  • рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдиреБрд░реЛрдз рджреЛрд╣рд░рд╛рдПрдВ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдереАред
  • рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЦреЛрдЬ рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВред рд╕рддреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрдирдГ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдирд┐рд░рд╕реНрддреАрдХрд░рдг рдкрд░ рдПрдХ рд╕рддреНрд░ рд╕реНрд╡рддрдГ рд░рджреНрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдЧрд░ рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рд╕рд╛рдЗрдб рдореЗрдВ рд╕реЗрд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕рд░реНрдЪ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рд╕рддреНрд░ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛, рд╕рддреНрд░ рдЖрдкрдХрд╛ рджреЛрд╕реНрдд рд╣реИ!


рд╡рд┐рдХрд▓реНрдк рдЦреЛрдЬреЗрдВ


рдЦреЛрдЬ рдХреНрд╡реЗрд░реА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХрд╛ SearchOptions class рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдХреНрд╡реЗрд░реА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред


  • рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд╕реЗ рдореБрдЦреНрдп SearchType ред рдпрд╣ рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЙрддреНрддрд░ рдореЗрдВ рд╢реАрд░реНрд╖рд▓реЗрдЦ, рд╕рдВрдЧрдарди рдпрд╛ рдкрд░рд┐рд╡рд╣рди рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА)ред
  • рдПрдХ рдЕрдиреНрдп рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрд╡реЗрд░реА рдкреИрд░рд╛рдореАрдЯрд░ рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рд╣реИ ред рд╣рдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
  • рдпрджрд┐ рдЖрдк setGeometry(true) рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдбрд╝рдХреЛрдВ рдпрд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ) рдХреА рдЬреНрдпрд╛рдорд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ setGeometry(true) рдорд╛рдзреНрдпрдо рд╕реЗ рдСрд░реНрдбрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рд╕рдВрдЪрд░рд┐рдд рдбреЗрдЯрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХрд╛рдлреА "рднрд╛рд░реА" рд╣реИред
  • рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЦреЛрдЬ рдмрдВрдж (рдЕрд╕реНрдерд╛рдпреА рдпрд╛ рд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ) рд╕рдВрдЧрдардиреЛрдВ рдкрд░ рдирд╣реАрдВ setSearchClosed(true) , рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдкрдХреЛ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ setSearchClosed(true) рд╕реЗрдЯ setSearchClosed(true) ред

рд╕реВрдЪреАрдмрджреНрдз рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рдФрд░ рднреА рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реЗ рдХрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рднреА рдХреНрд╡реЗрд░реАрдЬрд╝ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рднреА рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ SearchManager рдпрд╛ Session рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ SearchOptions рд╕реЗ рдХреМрди рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдЗрд╕реЗ рд╕рдордЭрддреЗ рд╣реИрдВред


рдЙрддреНрддрд░ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреИрд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ


рд╕рдорд░реНрдерди рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦреЛрдЬ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкреНрд░рд╛рд░реВрдк рд╕реЗ рднреНрд░рдорд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╡рд░реНрдЧ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣рд┐рд╕реНрд╕рд╛):


 public class Response { public synchronized SearchMetadata getMetadata(); public synchronized GeoObjectCollection getCollection(); // ... } 

рдпрд╣рд╛рдВ getCollection() рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдФрд░ getMetadata() рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╡рд┐рдВрдбреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА, рд░реИрдВрдХрд┐рдВрдЧ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд╛рдИ рдЬрд╛рддреА рд╣реИ ред рдпрджрд┐ рдЖрдк GeoObjectCollection рдЕрдВрджрд░ рджреЗрдЦрддреЗ рд╣реИрдВ GeoObjectCollection рддреЛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреБрдЫ Item s рд╣реИрдВ рдЬреЛ рдпрд╛ рддреЛ рдЕрдиреНрдп GeoObjectCollection рдпрд╛ GeoObject ред


рдЦреЛрдЬ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдЕрдВрджрд░ рдХреЛрдИ рд╕рдВрдЧреНрд░рд╣ рдирд╣реАрдВ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдЕрднреА рддрдХ рдирд╣реАрдВ), рддреЛ рдЪрд▓рд┐рдП GeoObject рдкрд░ рдПрдХ рдирдЬрд╝рд░ GeoObject ред рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдирд╛рдо ( getName() ), рдПрдХ рд╡рд┐рд╡рд░рдг ( getDescriptionText() ), рдПрдХ рдлреНрд░реЗрдо ( getBoundingBox() ), рдЬреНрдпрд╛рдорд┐рддрд┐ рдХрд╛ рдПрдХ рд╕реЗрдЯ ( getGeometry() ), рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХреЗ рдирд╣реАрдВ рд╣реИрдВред рд╕рдВрдЧрдарди рдХреЗ рдлрд╝реЛрди рдирдВрдмрд░ рдХрд╣рд╛рдБ рд╣реИрдВ? рдХреИрд╕реЗ рд╕рдордЭрд╛ рдЬрд╛рдП рдХрд┐ рдХреМрди рд╕реЗ рд╢рд╣рд░ рдХрд╛ рдирд╛рдо рдХрд┐рд╕ рдУрд░ рд╣реИ?


рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред


GeoObject


рдпрд╣ GeoObject рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред


GeoObject рдПрдХ рдРрд╕реА рдмреБрдирд┐рдпрд╛рджреА "рдХрд╛рд░реНрдб" рд╡рд╕реНрддреБ рд╣реИред рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╕рдбрд╝рдХ рдШрдЯрдирд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдо рд╕реЗ рдЕрд▓рдЧ рд╡рд╕реНрддреБ, рдорд╛рд░реНрдЧ рдореЗрдВ рдПрдХ рдкреИрдВрддрд░реЗрдмрд╛рдЬрд╝реА рдпрд╛ рдирдХреНрд╢реЗ рдкрд░ рдПрдХ рд╡рд╕реНрддреБ (рдкреАрдУрдЖрдИ), рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рд╕реНрдорд╛рд░рдХ рдпрд╛ рдХреБрдЫ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╕рдВрдЧрдардиред



рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ getMetadataContainer() рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХреБрдВрдЬреА рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИред рдпрджрд┐ рдЖрдк Metadata рд╢рдмреНрдж рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдХреБрдЫ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдпрд╣рд╛рдБ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддреЗ рд╣реИрдВред рд╡рд┐рднрд┐рдиреНрди "рдореЗрдЯрд╛рдбреЗрдЯрд╛" рдЯреБрдХрдбрд╝реЛрдВ рдХреА рдЦреЛрдЬ рдореЗрдВ 15ред



рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдХрдИ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкрд╣рд▓рд╛ рдкреНрд░рдХрд╛рд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╣реИ рдЬреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реИ: toponyms ( ToponymObjectMetadata ), рд╕рдВрдЧрдарди ( BusinessObjectMetadata ) рдпрд╛ рдкрд░рд┐рд╡рд╣рди ( TransitObjectMetadata )ред рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдореЗрдВ, рдЖрдк рдПрдХ рд╕рдВрд░рдЪрд┐рдд рдкрддрд╛ рдФрд░ рд╡рд┐рд╕реНрддреГрдд рдЬреНрдпрд╛рдорд┐рддрд┐ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдВрдЧрдарди рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдШрдВрдЯреЗ рдпрд╛ рдХрдВрдкрдиреА рдХреА рд╕рд╛рдЗрдЯ рд╣реИред рдпрд╣ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЦреЛрдЬ рдХреЗ рдкреНрд░рдХрд╛рд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдпрджрд┐ рдЖрдкрдиреЗ рдХреЗрд╡рд▓ рдЯреЙрдкрдСрдирдореНрд╕ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдХреА рд╣реИ, рддреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рдЬрдЧрд╣ рдХреЗ рдирд╛рдо рдпрд╛ рд╕рдВрдЧрдардиреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рдереЗ, рддреЛ рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рджреЛ "рдореЗрдЯрд╛рдбреЗрдЯрд╛" рд╣реЛрдВрдЧреЗред


рдХрдВрдкрдиреА рдлрд╝реЛрди рдирдВрдмрд░ рдЦреЛрдЬрдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:


 val phones = response.collection.children.firstOrNull()?.obj ?.metadataContainer ?.getItem(BusinessObjectMetadata::class.java) ?.phones 

рдФрд░ рдпрд╣рд╛рдБ рдПрдХ рд╕рдВрд░рдЪрд┐рдд рдкрддреЗ рдореЗрдВ рд╢рд╣рд░ рдХреЛ рдХреИрд╕реЗ рдЦреЛрдЬрдирд╛ рд╣реИ:


 val city = response.collection.children.firstOrNull()?.obj ?.metadataContainer ?.getItem(ToponymObjectMetadata::class.java) ?.address ?.components ?.firstOrNull { it.kinds.contains(Address.Component.Kind.LOCALITY) } ?.name 

рджреВрд╕рд░рд╛ рдкреНрд░рдХрд╛рд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╣реИ рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдкреВрдЫрд╛ред рдЖрдкрдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ URIObjectMetadata ред URIObjectMetadata рдЕрдВрджрд░ URIObjectMetadata рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕реЗ URI рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред


 //       ┬л┬╗,     //     val uri = response.collection.children.firstOrNull()?.obj ?.metadataContainer ?.getItem(UriObjectMetadata::class.java) ?.uris ?.firstOrNull() ?.value 

рдФрд░ рддреАрд╕рд░рд╛ рдкреНрд░рдХрд╛рд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╣реИ, рдЬреЛ рдЙрддреНрддрд░ рдореЗрдВ рддрднреА рдЖрдПрдЧрд╛ рдЬрдм рдЖрдк рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВрдЧреЗред рдПрдХ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ, рдЗрд╕ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдирд┐рдкреЗрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдбреЗрдЯрд╛ рдХреЗ рдЫреЛрдЯреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЯреБрдХрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдпрд╛ рддреЛ рдмреБрдирд┐рдпрд╛рджреА "рд╕рдВрджрд░реНрдн" рдбреЗрдЯрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рд░ рдмрджрд▓рддреЗ рд╣реИрдВ, рдпрд╛ рдЬрд┐рдирдХреА рд╕рднреА рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдпрд╣ рдПрдХ рд░реЗрдЯрд┐рдВрдЧ, рдлрд╝реЛрдЯреЛ рдпрд╛ рдкреИрдиреЛрд░рдорд╛, рд╡рд┐рдирд┐рдордп рджрд░ рдпрд╛ рдЧреИрд╕ рд╕реНрдЯреЗрд╢рди рдкрд░ рдИрдВрдзрди рдХреА рдХреАрдордд рдХрд╛ рд▓рд┐рдВрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдХреА рд╕реВрдЪреА рдЦреЛрдЬ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЗрдЯ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд╕рд░реНрд╡рд░ рдореЗрдВ рдПрдХ рдСрд░реНрдбрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕реНрдирд┐рдкреЗрдЯ рд╣реИ, рддреЛ рд╡рд╣ рдЗрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред


 val point = Geometry.fromPoint(Point(59.95, 30.32)) val options = SearchOptions() options.snippets = Snippet.FUEL.value searchSession = searchManager!!.submit("", point, options, this) ... override fun onSearchResponse(response: Response) { //         showMessage(response.collection.children.firstOrNull()?.obj ?.metadataContainer ?.getItem(FuelMetadata::class.java) ?.fuels ?.joinToString("\n") { "Fuel(name=${it.name}, price=${it.price?.text})" } ?: "No fuel" ) } 

рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз рд╕рднреА рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдореЗрдЯрд╛рдбреЗрдЯрд╛ рднреА рд╣реИ рдЬрд┐рд╕реЗ рд╕рдВрдкреВрд░реНрдг рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ SearchMetadata рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред


 //            response.metadata.businessResultMetadata?.categories //     (  )     response.metadata.toponymResultMetadata?.responseInfo?.mode 

рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг


рдЕрдм рдЪрд▓реЛ рдЦреЛрдЬ рд╡рд░реНрдЧреЛрдВ рдХреЗ рдореБрдЦреНрдп рддрд░реАрдХреЛрдВ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ, рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирд╕реЗ рдЬреБрдбрд╝реЗ рдХреБрдЫ рдЧреИрд░-рд╕реНрдкрд╖реНрдЯ рдмрд┐рдВрджреБрдУрдВ рдкрд░ред


рдкрд╛рда рдЦреЛрдЬ


рдкрд╛рда рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд╡рд┐рдзрд┐ (рдФрд░ рд╕рдВрдкреВрд░реНрдг рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП, рд╢рд╛рдпрдж) submit :


 Session submit( String text, Geometry geometry, SearchOptions searchOptions, SearchListener searchListener ); 

  • text рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рд╡рд╣ рдкрд╛рда рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЦреЛрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
  • geometry рдкреИрд░рд╛рдореАрдЯрд░ рдереЛрдбрд╝рд╛ рдкреЗрдЪреАрджрд╛ рд╣реИред рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЬреНрдпрд╛рдорд┐рддрд┐ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЦреЛрдЬ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдЧреА:
    • рдпрджрд┐ рдЖрдк рдПрдХ рдмрд┐рдВрджреБ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдмрд┐рдВрджреБ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рд╕реА рдЦрд┐рдбрд╝рдХреА рдореЗрдВ рдЦреЛрдЬ рдХреА рдЬрд╛рдПрдЧреАред
    • рдпрджрд┐ рдЖрдк рдПрдХ рдЖрдпрддрд╛рдХрд╛рд░ рдЦрд┐рдбрд╝рдХреА ( BoundingBox ) рдпрд╛ рдЪрд╛рд░ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмрд╣реБрднреБрдЬ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЦреЛрдЬ рдмреЙрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдРрд╕реА рдЦрд┐рдбрд╝рдХреА рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдирдХреНрд╢реЗ рдХрд╛ рджреГрд╢реНрдп рдХреНрд╖реЗрддреНрд░ рд╣реИред
    • рдЕрдВрдд рдореЗрдВ, рдпрджрд┐ рдЖрдк рдкреЙрд▓реАрд▓рд╛рдЗрди рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдВрдбреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЦреЛрдЬ рд╡рд┐рдВрдбреЛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рд░реИрдВрдХрд┐рдВрдЧ рдХреЛ рдЗрд╕ рдкреЙрд▓реАрд▓рд╛рдЗрди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
  • рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдКрдкрд░ SearchListener рдФрд░ SearchListener рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереАред

рд╕рд░реНрд╡рд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рд╣реА рдЙрддреНрддрд░ рдЙрд╕ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЦреЛрдЬ рдХреА рдЧрдИ рдереА ("рд╡реНрд▓рд╛рджрд┐рд╡реЛрд╕реНрддреЛрдХ рдореЗрдВ рдХреИрдлреЗ" рдЬрдм рдЦреЛрдЬ рд╡рд┐рдВрдбреЛ рдореЙрд╕реНрдХреЛ рдореЗрдВ рд╣реИ)ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╡рд┐рдВрдбреЛ рд▓реЗрдиреЗ рдФрд░ рдХрд╛рд░реНрдб рдХреЛ рд╡рд╣рд╛рдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рддрд╛рдХрд┐ рдкрд░рд┐рдгрд╛рдо рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдВ (рдкреБрди: рдЕрдиреБрд░реЛрдз рдЦреБрдж рдХреЛ рдпрд╣ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рд╡реЗ рдХрд╛рд░реНрдб рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд╣рддреЗ рд╣реИрдВ)ред


submit рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ submit рдЯреНрд╡рд┐рди рд╣реИ:


 Session submit( String text, Polyline polyline, Geometry geometry, SearchOptions searchOptions, SearchListener searchListener ); 

рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рдеред рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдбрд╝реА рдкреЙрд▓реАрд▓рд╛рдЗрди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдЕрдиреНрдп рд╢рд╣рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рд░реНрдЧ) рдФрд░ рдПрдХ рдЫреЛрдЯреА рдЦреЛрдЬ рд╡рд┐рдВрдбреЛ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рддрдм рдЦреЛрдЬ рд╕реНрд╡рдпрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдкреЙрд▓реАрд▓рд╛рдЗрди рдХреЗ рдЖрд╡рд╢реНрдпрдХ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдХрд╛рдЯ рджреЗрдЧреА рдФрд░ рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧреАред


рдкреБрдирд░реНрдкреНрд░рдпрд╛рд╕


рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкреБрдирдГ рдЕрдиреБрд░реЛрдз, рдПрдХ рдЦреЛрдЬ рд╕рддреНрд░ рдХреА рдорджрдж рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рд╣реА submit рдФрд░ рдЙрд╕рдХреЗ рдЬреБрдбрд╝рд╡рд╛ рднрд╛рдИ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рддрд╛ рд╣реИред рд╕рддреНрд░ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╕рд░рд▓ рдФрд░ рд╕реАрдзрд╛ рд╣реИ:


  • рдЖрдк рдЕрдиреБрд░реЛрдз рд╡рд┐рдВрдбреЛ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ (рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд╛рд░реНрдб рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ)
  • рдЦреЛрдЬ рд╡рд┐рдХрд▓реНрдк рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)
  • рдЖрдк рд░реИрдВрдХрд┐рдВрдЧ рдХреЗ рдкреНрд░рдХрд╛рд░ - рджреВрд░реА рдпрд╛ рд░реЗрдЯрд┐рдВрдЧ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рдкрд░рд┐рд╖реНрдХреГрдд рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ resubmit рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд╕рдорд╛рди SearchListener рдХреЛ рдирд┐рдпрдорд┐рдд рдЦреЛрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк рдХрдИ рд╕рддреНрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд╛рде рд░реИрдВрдХрд┐рдВрдЧ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдмрджрд▓реЗрдВ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рд▓рд╛рдЧреВ рдХрд░реЗрдВред


рдлрд┐рд▓реНрдЯрд░


рдЪреВрдВрдХрд┐ рд╣рдо рдлрд┐рд▓реНрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдлрд┐рд▓реНрдЯрд░ рддрдм рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рд╡рд╛рдИ-рдлрд╛рдИ рдФрд░ рдЗрддрд╛рд▓рд╡реА рднреЛрдЬрдиред рд╡реЗ рд╢рд╛рдпрдж MapKit рдореЗрдВ рд╕рднреА рдЦреЛрдЬ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рдмрд╕реЗ рднреНрд░рд╛рдордХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИрдВред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЦреЛрдЬ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдкреБрдирдГ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдлрд┐рд▓реНрдЯрд░ рджреЛ рдкреНрд░рдХрд╛рд░ рд╕реЗ рдЖрддреЗ рд╣реИрдВред рдмреВрд▓рд┐рдпрди рдлрд┐рд▓реНрдЯрд░ рдХреЗрд╡рд▓ рджреЛ рдкрд░рд╕реНрдкрд░ рдЕрдирдиреНрдп рдорд╛рди рд▓реЗрддреЗ рд╣реИрдВ - рд╣рд╛рдВ рдпрд╛ рдирд╣реАрдВред рдпрд╣ рдПрдХ рдХреИрдлреЗ рдореЗрдВ рд╡рд╛рдИ-рдлрд╛рдИ, рдЧреИрд╕ рд╕реНрдЯреЗрд╢рди рдкрд░ рдПрдХ рд╢реМрдЪрд╛рд▓рдп рдпрд╛ рд╕рдВрдЧрдарди рдХреЗ рдкрд╛рд╕ рдкрд╛рд░реНрдХрд┐рдВрдЧ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред Enum рдлрд╝рд┐рд▓реНрдЯрд░ рдХрдИ рдорд╛рди рд▓реЗрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЧреИрд╕ рд╕реНрдЯреЗрд╢рди рдкрд░ рдПрдХ рдХреИрдлреЗ рдХреЗ рд▓рд┐рдП рд░рд╕реЛрдИ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдпрд╛ рдИрдВрдзрди рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИред


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╡рд░реНрддрдорд╛рди рд░реАрдмреВрдЯ рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рдХреИрд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:


 private fun filters(response: Response): String? { fun enumValues(filter: BusinessFilter) = filter .values .enums ?.joinToString(prefix = " -> ") { e -> e.value.id } ?: "" return response .metadata .businessResultMetadata ?.businessFilters ?.joinToString(separator = "\n") { f -> "${f.id}${enumValues(f)}" } } 

рдкрд░рд┐рдгрд╛рдореА рд▓рд╛рдЗрди рдореЗрдВ, рдмреВрд▓рд┐рдпрди рдлрд┐рд▓реНрдЯрд░ рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдПрдирдо рдлрд┐рд▓реНрдЯрд░ рдХреЗ рд▓рд┐рдП, рдлрд╝рд┐рд▓реНрдЯрд░ рдХреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдФрд░ рдЙрдкрд▓рдмреНрдз рдореВрд▓реНрдпреЛрдВ рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ред рдЕрдм, рдЙрдкрд▓рдмреНрдз рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЬреНрдЮрд╛рди рд╕реЗ рд▓реИрд╕, рд╣рдо рдЗрддрд╛рд▓рд╡реА рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреЗ рдмрд╣реБрдд рд╣реА рдХреИрдлреЗ рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рдирдореЗрдВ рд╡рд╛рдИ-рдлрд╛рдИ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдмреВрд▓рд┐рдпрди рдлрд╝рд┐рд▓реНрдЯрд░ рдЬреЛрдбрд╝реЗрдВ:


 val boolFilter = BusinessFilter( /* id= */ "wi_fi", /* name= */ "", /* disabled= */ false, /* values= */ BusinessFilter.Values.fromBooleans( listOf(BusinessFilter.BooleanValue(true, true)) ) ) 

рдЕрдм рдПрдирдо рдлрд┐рд▓реНрдЯрд░:


 val enumFilter = BusinessFilter( /* id= */ "type_cuisine", /* name= */ "", /* disabled= */ false, /* values= */ BusinessFilter.Values.fromEnums( listOf(BusinessFilter.EnumValue( Feature.FeatureEnumValue( /* id= */ "italian_cuisine", /* name= */ "", /* imageUrlTemplate= */ "" ), true, true )) ) ) 

рдЕрдВрдд рдореЗрдВ, рдЖрдк рд╕рддреНрд░ рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ resubmit() рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ resubmit() :


 searchSession!!.setFilters(listOf(boolFilter, enumFilter)) searchSession!!.resubmit(this) 

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдк рдкрд╣рд▓реА рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдПрдХ рдЦреЛрдЬ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЙрдкрд▓рдмреНрдз рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреА рд╣реИред рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рд░рд┐рдмреВрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред


рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рд┐рдгрд╛рдо

рдПрдХ рдФрд░ рд╕рддреНрд░ рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рдФрд░, рдпрджрд┐ рд╡реЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдк рдЕрдкрдиреЗ рд╢рд╣рд░ рдореЗрдВ рдПрдХ рдХреИрдлреЗ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рд╕рднреА рдЦреЛрдЬ рдЙрддреНрддрд░ рдХреЗ рдПрдХ рдкреГрд╖реНрда рдкрд░ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рд╕реВрдЪреА рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреГрд╖реНрдареЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП hasNextPage рдФрд░ fetchNextPage рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдЕрдЧрд░ hasNextPage рд╡рд┐рдзрд┐ false рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреЙрд▓рд┐рдВрдЧ fetchNextPage рдХреЛ рдХреЙрд▓ fetchNextPage рдПрдХ рдЕрдкрд╡рд╛рдж рд╣реЛрдЧрд╛ред рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╢реЗрд╖ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рд╕рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╛ рддреЛ рдЕрдиреБрд░реЛрдз рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ( resubmit() ), рдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреГрд╖реНрдареЛрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ( fetchNextPage() )ред рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред


рдЙрд▓рдЯрд╛ рдЦреЛрдЬ


рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рд░рд┐рд╡рд░реНрд╕ рдЦреЛрдЬ рдХреЛ submit рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:


 Session submit( Point point, Integer zoom, SearchOptions searchOptions, SearchListener searchListener ) 

рдпрд╣ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рд╕реЗ рднрд┐рдиреНрди рд╣реИ, рдЗрд╕рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдЦреЛрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ ред рдЖрдк рдпрд╛ рддреЛ GEO рдЯрд╛рдЗрдк рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬрдЧрд╣ рдХреЗ рдирд╛рдо, рдпрд╛ BIZ рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрдЧрдардиреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рддреЗ рд╣реИрдВред рдХреЛрдИ рддреАрд╕рд░рд╛ рдирд╣реАрдВ рд╣реИред


рдЬрдм GEO рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдРрд╕реЗ рдмрд┐рдВрджреБ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЙрддреНрддрд░ рдореЗрдВ рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдХрдИ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрдВрдЧреЗ (рдЕрд░реНрдерд╛рдд, рдЙрддреНрддрд░ рдореЗрдВ рдПрдХ рдШрд░, рд╕рдбрд╝рдХ, рд╢рд╣рд░, рдФрд░ рдЗрд╕реА рддрд░рд╣ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗ)ред рд╕рд╛рдзрд╛рд░рдг рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдк рд╕рд┐рд░реНрдл рдкрд╣рд▓реА рд╡рд╕реНрддреБ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд▓реЛрдЧреЛрдВ рдореЗрдВ, рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрдЬ рдХрд░реЗрдВред


рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдХреНрдпрд╛ рджреЗрдЦрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рдкрд░рд┐рдгрд╛рдо рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝реВрдо рд╕реНрддрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдПрдХ рд░рд╛рд╖реНрдЯреНрд░рд╡реНрдпрд╛рдкреА рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рджреЗрдЦрдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВред рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрд▓рддреА рд╕реЗ рдЙрди рдореЗрдВ рдЬрд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕рдбрд╝рдХ рдпрд╛ рдШрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рдЕрдЬреАрдм рд╣реЛрдЧрд╛ред рдХрд╛рдлреА рд╢рд╣рд░реЛрдВ рдореЗрдВред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ zoom рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рд╣реИред


 val point = Point(55.734, 37.588) //         ┬л  , 16┬╗ searchSession = searchManager!!.submit(point, 16, SearchOptions(), this) //    тАУ  " " searchSession = searchManager!!.submit(point, 14, SearchOptions(), this) 

URI рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬреЗрдВ


рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рд╣реИ - рд╣рдо рдпреВрдЖрд░рдЖрдИ рдХреЛ URIObjectMetadata рд╕реЗ URIObjectMetadata , рдЗрд╕реЗ рдпрд╛рдж рд░рдЦреЗрдВ, рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рдмрд╛рдж рд╣рдо рдЦреЛрдЬ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдпреВрдЖрд░рдЖрдИ рд╕реЗ рд╣рдореЗрдВ рд╡рд╣ рд╡рд╕реНрддреБ рдорд┐рд▓рддреА рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдпрд╛рдж рдереАред


 searchSession = searchManager!!.resolveURI(uri, SearchOptions(), this) 

рдХрд┐рд╕реА рддрд░рд╣ рдЙрдмрд╛рдК рднреАред


рдЦреЛрдЬ рдкрд░рдд рдФрд░ рдЙрдЬреНрдЬреНрд╡рд▓ рднрд╡рд┐рд╖реНрдп


SearchManager рдмрдЧрд▓ рдореЗрдВ рдЕрднреА рднреА рдПрдХ рдЪреАрдЬрд╝ рд╣реИ рдЬрд┐рд╕реЗ рдЦреЛрдЬ рд▓реЗрдпрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рде рдЦреЛрдЬ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рдд рдХреА рдХрд▓реНрдкрдирд╛ рдХреА рдЧрдИ рдереАред рд╡рд╣ рд╕реНрд╡рдпрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╣реИ, рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рдпреЗ рдкрд░рд┐рдгрд╛рдо рддрдм рджрд┐рдЦрд╛рдИ рджреЗрдВ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗред рдХрдИ рдорд╛рдпрдиреЛрдВ рдореЗрдВ, рдпрд╣ рд╕рдВрдпреБрдХреНрдд SearchManager рдФрд░ Session рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдирдХреНрд╢реЗ рдХреЗ рд╕рд╛рде рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдп рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдФрд░ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИред MapKit 3.1 рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рдордп, рд╣рдо рдкрд╣рд▓реЗ рд╣реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЦреЛрдЬ рдкрд░рдд рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рднрд╛рдЧ рдЪреБрдХреЗ рдереЗ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рдШрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рдпрд╣ рдЖрдкрдХреА рдЦреЛрдЬ рдХрд╛ рдХрд╛рдо рдЖрд╕рд╛рди рдХрд░ рджреЗрдЧрд╛ред



рдирд┐рд╖реНрдХрд░реНрд╖


рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдкреВрд░реА рддрд╛рдХрдд рдореЗрдВ MapKit рдореЗрдВ рдЦреЛрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕рдордЭ рд╣реЛрдЧреАред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрднреА рднреА рдХреБрдЫ рд╕реВрдХреНрд╖реНрдо рдФрд░ рдЧреИрд░-рддреБрдЪреНрдЫ рдХреНрд╖рдг рдереЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рд▓рдЧрднрдЧ рдпреБрдХреНрддрд┐рдпреЛрдВ рдФрд░ рдЦреЛрдЬ рдкрд░рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХреА рдереА)ред рдХреБрдЫ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреБрдЫ рдЧрд┐рдЯрд╣рдм рдкрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдпрд╛ рд╣рдорд╛рд░рд╛ рд╕рдорд░реНрдерди рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдПред


MapKit рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдЗрд╕рдореЗрдВ рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдФрд░ рднреА рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдЖрдПрдВ !


PS рдФрд░ 29 рдирд╡рдВрдмрд░ рдХреЛ рдореЛрдЯрд░ рд╡рд╛рд╣рди рд░рд╛рдЙрдЯрд┐рдВрдЧ рдмреИрдХреЗрдВрдб рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рднреА рд╣рдорд╕реЗ рдорд┐рд▓рдиреЗ рдЖрдПред рдЬреЛ, рд╡реИрд╕реЗ, MapKit рдореЗрдВ рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдХрд╣рд╛рдиреА рд╣реИред

Source: https://habr.com/ru/post/hi428564/


All Articles