반응형
안녕하세요
오늘은 주소 평문으로 위도, 경도를 가져와 Map에 위치를 마킹하는 코드를 구현해보겠습니다.
지도 출력
기본적인 지도 출력하는 예제는 이전에 작성한 코드를 토대로 사용하였습니다.
https://weirddev.tistory.com/39
주소 텍스트로 위도, 경도 가져오기
주소 텍스트를 파라미터로 위도, 경도를 가져오는 API는 아래와 같습니다.
val geoCoder = Geocoder(context)
val addressList: List<Address>? =
geoCoder.getFromLocationName(address, 1)
위의 예제는 Geocoder 클래스를 사용하여 getFromLocationName의 파라미터로
실제 주소 텍스트 (ex) "서울특별시 송파구 올림픽로 300")와 주소의 갯수를 전달합니다.
(주소의 갯수는 1 ~ 5 중 값으로 전달하는것을 권장합니다.)
위도, 경도를 기반으로 지도에 Marker 출력하기
if (addressList != null && !addressList.equals(" ")) {
val address = addressList[0]
val latLng = LatLng(address.latitude, address.longitude)
val markerState = rememberMarkerState(position = latLng)
Marker(
state = markerState,
title = name,
icon = BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED),
)
}
첫 번째 예제 코드의 addressList의 0번째 객체에서 해당 주소의 위도, 경도를 얻을 수 있습니다.
위도, 경도를 이용해서, LatLng 클래스의 객체를 생성하여 Marker Component에 각각의 파라미터 들을 설정합니다.
결과
위의 코드 실행시 위와 같은 화면을 볼 수 있습니다.
오늘은 Jetpack Compose의 Component Focusing에 대해 포스팅해보았습니다.
잘못된 내용이 있다면 댓글 부탁드리고, 내용이 좋았다면 공감, 구독 부탁드려요
반응형
'DEV > Android' 카테고리의 다른 글
[TIL-230726] Jetpack Compose - BottomSheetScaffold (0) | 2023.07.27 |
---|---|
[TIL-230706] Jetpack Compose - Focusing (1) | 2023.07.06 |
[TIL-230705] Google Map - 지도 출력시 마지막 위치로 시작하기 (Jetpack Compose) (0) | 2023.07.05 |
[TIL-230623] StateFlow 알아보기 (0) | 2023.06.28 |
[TIL-230626] Android Flow 알아보기 - 2 (0) | 2023.06.27 |