구글 지도 (Google Map)
구글 지도 SDK를 사용하기 위해서는 아래 페이지에 있는 네이버 지도 설정과 마찬가지로 Google Cloud 콘솔에서 구글 지도 API 키를 발급받아 SDK에 지정해야 합니다.
다음 페이지의 내용에 따라 구글 지도 사용 설정을 수행합니다.
1. Google Cloud 프로젝트 설정
다음 문서에 나와있는 단계를 따라 Google Cloud 프로젝트를 설정합니다.
먼저 새 Cloud 프로젝트를 만든 후 필요한 API 또는 SDK를 사용 설정합니다.
그 다음 API 키를 발급받아 안드로이드 프로젝트에 추가합니다.
2. 의존성 추가
구글 지도를 사용하기 위해서 build.gradle에 Google Map 라이브러리를 추가합니다.
implementation 'com.google.android.gms:play-services-maps:18.1.0'
implementation 'com.google.android.gms:play-services-location:21.0.1'
3. Manifest에 API 키 지정
구글 지도 API를 사용하기 위해서 발급받은 API 키를 Manifest 파일에 지정합니다.
<manifest>
<application>
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/MAPS_API_KEY" />
</application>
</manifest>
4. 지도 표시
앱에서 GoogleMap 객체를 사용하려면 SupportMapFragment 또는 MapView 객체 중 하나를 지도의 컨테이너 객체로 사용한 다음 컨테이너에서 GoogleMap 객체를 가져와야 합니다.
컨테이너 클래스는 Android 프래그먼트나 뷰에서 파생되므로 Android 기본 클래스의 수명 주기 관리와 UI 기능을 지도에 제공합니다.
SupportMapFragment 클래스는 GoogleMap 객체의 더 최신 버전이며 일반적인 컨테이너입니다.
<fragment
android:id="@+id/mapFragment"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
private lateinit var googleMap: GoogleMap
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
val mapFragment = supportFragmentManager
.findFragmentById(R.id.mapFragment) as SupportMapFragment
mapFragment.getMapAsync(this)
}
override fun onMapReady(map: GoogleMap) {
googleMap = map
// 최소/최대 확대/축소 설정
googleMap.setMaxZoomPreference(20.0f)
googleMap.setMinZoomPreference(10.0f)
val sydney = LatLng(-33.88, 151.21)
// 카메라 즉시 이동
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 16.0f))
// 카메라 이동 + 애니메이션 효과
googleMap.animateCamera(
CameraUpdateFactory.newCameraPosition(
CameraPosition.Builder()
.target(sydney)
.zoom(16.0f)
.build()
)
)
// 마커 클릭 이벤트
googleMap.setOnMarkerClickListener(this)
// 지도 클릭 이벤트
googleMap.setOnMapClickListener { }
// ...
}
728x90
반응형
'안드로이드 > 활용' 카테고리의 다른 글
[Android] 카카오 로그인 구현하기 (0) | 2023.09.22 |
---|---|
[Android] Moshi로 JSON 파싱하기 (0) | 2023.09.14 |
[Android] 네이버 지도 사용하기 (0) | 2023.09.13 |
[Android] 앱 위젯 만들기 (0) | 2023.09.12 |
[Android] 현재 위치 정보 가져오기 (0) | 2023.09.08 |