구글 Map API를 사용하여 Android Studio에 지도를 삽입해보자.
1. Google APIs
https://console.developers.google.com/apis/dashboard
먼저 위 사이트로 들어가서 로그인을 한 뒤 프로젝트 만들기 버튼을 클릭한다.
프로젝트 이름을 작성하고 만들기 버튼을 클릭한다.
예시로 프로젝트 이름을 GoogleMap으로 지정하였다.
프로젝트 생성이 완료되면 API 및 서비스 사용 설정 버튼을 클릭한다.
Android Studio에서 사용할 것이기 때문에 API 라이브러리에서 Maps SDK for Android를 선택한다.
사용 버튼을 누르면 API가 활성화 되면서 아래와 같은 화면이 나온다.
API를 사용하기 위해서는 인증설정을 해야한다.
인증 설정을 하기 위해 사용자 인증 정보를 클릭한다.
사용자 인증 정보 만들기를 클릭한 뒤 API 키를 선택한다.
API 키가 생성되고 키 제한 버튼을 클릭한다.
Android 앱을 선택하고 항목 추가 버튼을 눌러 패키지명과 SHA-1 인증서 디지털 지문을 작성한다.
SHA-1 인증서 디지털 지문은 cmd 창에서 확인할 수 있다.
먼저 윈도우키 + R을 누른 후 cmd를 입력하여 명령 프롬프트 창을 연다.
"C:\Program Files\Android\Android Studio\jre\bin\keytool" -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
위와 같이 두 줄로 작성된 코드를 한 줄에 작성하면 다음과 같은 출력문이 나온다.
여기에 출력된 SHA1 문자열을 복사해서 작성한다.
다음 API 제한사항에서 키 제한을 체크한 뒤에 저장 버튼을 클릭한다.
완료되면 위와 같은 화면이 나오는데 API 키를 복사해둔다.
2. Android Studio
Google Maps Android Api를 사용하기 위해서는 Google Play services 라이브러리를 설치해야한다.
Tools > SDK Manager 선택
SDK Tools 탭 클릭한 뒤 Google Play services 항목을 체크하고 APPLY를 클릭하여 설치를 진행한다.
앱 수준의 build.gradle에 들어간 뒤 dependencies 안에 아래 코드를 추가한 뒤 동기화를 진행한다.
implementation 'com.google.android.gms:play-services-maps:17.0.0'
implementation 'com.google.android.gms:play-services-location:17.0.0'
그 다음 androidmanifest.xml에 코드를 추가하는데 application 태그 안에 아래와 같이 <meta-data> 태그를 삽입한다.
<application>
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="API키" />
</application>
value 값 안에는 인증 정보에서 복사해두었던 API 키를 작성한다.
Map을 삽입할 레이아웃에 MapView를 삽입한다
<fragment
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/map"
tools:context=".MapsActivity"
android:name="com.google.android.gms.maps.SupportMapFragment" />
레이아웃에 해당하는 java 파일로 이동하여 코드를 추가로 작성한다.
public class MainActivity extends AppCompatActivity implements OnMapReadyCallback {
private GoogleMap mMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(final GoogleMap googleMap) {
mMap = googleMap;
LatLng SEOUL = new LatLng(37.56, 126.97);
MarkerOptions markerOptions = new MarkerOptions(); // 마커 생성
markerOptions.position(SEOUL);
markerOptions.title("서울"); // 마커 제목
markerOptions.snippet("한국의 수도"); // 마커 설명
mMap.addMarker(markerOptions);
mMap.moveCamera(CameraUpdateFactory.newLatLng(SEOUL)); // 초기 위치
mMap.animateCamera(CameraUpdateFactory.zoomTo(15)); // 줌의 정도
googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID); // 지도 유형 설정
}
}
이렇게 설정하면 지도가 출력된다.
'Interesting IT' 카테고리의 다른 글
애드몹(Admob) 이용하여 Android Studio 전면 광고 삽입 (0) | 2020.08.19 |
---|---|
Android Studio 네이버 지도 API 사용하기 (0) | 2020.08.12 |
애드몹(Admob) 이용하여 Android studio 배너 광고 삽입 (1) | 2020.08.05 |
안드로이드 스튜디오 데이터바인딩 (0) | 2020.07.29 |
공공 데이터 포털 api 사용 가이드 (0) | 2020.07.24 |