[Android/Kotlin] 구글 MAP 사용(Debug) (2) - 구글맵 설정 및 마커 찍기

SoyoungLee·2022년 7월 13일
0

안드로이드/코틀린

목록 보기
24/68
post-thumbnail
post-custom-banner

💌[안드로이드/코틀린] 구글 MAP 사용(Debug) (2) - 구글맵 설정 및 마커 찍기

📌 SupportMapFragment 객체 추가

activity_maps.xml

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".menu.map.MapsActivity" />

뷰 바인딩 및 구글맵 설정

MapsActivity.kt

// GoogleMap - 기본 지도 기능 및 데이터를 관리하기 위한 진입점
private lateinit var mMap: GoogleMap
private lateinit var binding: ActivityMapsBinding

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        
        // 뷰바인딩
        binding = ActivityMapsBinding.inflate(layoutInflater)
        setContentView(binding.root)
        ...
        
}

SupportMapFragment 초기화

MapsActivity.kt

// 프래그먼트에 핸들 가져오기 및 콜백 등록하기
val mapFragment = supportFragmentManager
	.findFragmentById(R.id.map) as SupportMapFragment
mapFragment.getMapAsync(this)

📌 OnMapReadyCallback인터페이스 구현

- onMapReady : 지도를 사용할 준비가 되었을 때 호출되는 콜백 인터페이스

MapsActivity.kt

override fun onMapReady(googleMap: GoogleMap) {

		mMap = googleMap
        
		// 초기 위치 설정 및 마커 표시 
        val latLng = LatLng(37.566168, 126.901609)
        mMap.addMarker(MarkerOptions().position(latLng).title("여기"))
        mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 15f))
}

animateCamera / moveCamera 차이

  • animateCamera : 지정 시간동안 지정 위치로 부드럽게 이동
  • moveCamera : 지정 위치로 바로 이동

https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap#animateCamera(com.google.android.gms.maps.CameraUpdate)

https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap#moveCamera(com.google.android.gms.maps.CameraUpdate)

📌 CameraUpdateFactory.newLatLngZoom

  • 지정한 위도, 경도의 위치로 화면의 중심을 이동하고, 주어진 확대/축소 수준으로 이동

다른 여러 메소드들 확인 : https://developers.google.com/android/reference/com/google/android/gms/maps/CameraUpdateFactory

profile
Android Developer..+ iOS 슬쩍 🌱 ✏️끄적끄적,,개인 기록용 👩🏻‍💻
post-custom-banner

0개의 댓글