Как я могу получить часть адреса из Yandex MapKit Geocode (например улицу и дом)

Использую Android Studio. Внезапно образовалась проблема, не могу получить часть адреса при обратном геокодировании. Получить его целиком могу (например Россия, Всеволожский район, Мурино....) А мне нужно только Улицу и Номер дома. Никак не получается. Если не затруднит подскажите. Заранее спасибо )

    public void onSearchResponse(@NonNull Response response) {
       String sss = response.getCollection().getChildren().get(0).getObj().getMetadataContainer().getItem(ToponymObjectMetadata.class).getAddress().getFormattedAddress();
        TextView m_from_address = (TextView) findViewById(R.id.fromAdress);
        m_from_address.setVisibility(View.VISIBLE);
        m_from_address.setTextSize(16f);
        m_from_address.setText(sss);

Ответы (1 шт):

Автор решения: Anton

Информация взята из блога Яндекса: Поиск в MapKit: Tips & Tricks.

См. раздел GeoObject. Так можно получить название города:

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

В документации можно прочитать описание остальных полей.

Нужные:

  • Address.Component.Kind.HOUSE - это номер дома, для примера "16", "42а", "д16ак2стр14";
  • Address.Component.Kind.STREET - это улица, для примера "ул. Льва Тостого".
→ Ссылка