Как я могу получить часть адреса из 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 - это улица, для примера "ул. Льва Тостого".