구글 지도 (Google Map)
구글 지도 SDK를 사용하기 위해서는 아래 페이지에 있는 네이버 지도 설정과 마찬가지로 Google Cloud 콘솔에서 구글 지도 API 키를 발급받아 SDK에 지정해야 합니다.
[Android] 네이버 지도 사용하기
네이버 지도 (Naver Map) 네이버 지도 SDK를 사용하기 위해서는 네이버 클라우드 플랫폼에서 클라이언트 ID를 발급받고, 발급받은 ID를 SDK에 지정해야 합니다. 아래 페이지에 있는 내용을 따라 네이
damon-911.tistory.com
다음 페이지의 내용에 따라 구글 지도 사용 설정을 수행합니다.
Google Maps Platform 문서 | Android용 Maps SDK | Google for Developers
Google Maps Platform 문서
developers.google.com
1. Google Cloud 프로젝트 설정
다음 문서에 나와있는 단계를 따라 Google Cloud 프로젝트를 설정합니다.
먼저 새 Cloud 프로젝트를 만든 후 필요한 API 또는 SDK를 사용 설정합니다.
그 다음 API 키를 발급받아 안드로이드 프로젝트에 추가합니다.
Android용 Maps SDK 빠른 시작 | Google for Developers
지금 바로 Android 앱용 Google 지도 프로젝트를 새로 시작해 보세요. 다음과 같이 SDK 설치부터 앱 빌드 및 실행에 이르기까지 필요한 모든 것을 찾을 수 있습니다.
developers.google.com
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 { }
// ...
}
'안드로이드 > 활용' 카테고리의 다른 글
[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 |