구글맵 사용하기
장소 검색 | Places API | Google for Developers
이제 Places API (신규)가 출시되면서 차세대 Places API를 사용할 수 있습니다. 이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 장소 검색 컬렉션을 사용해 정리하기 내 환경설정을
developers.google.com
- 이곳에 라이브러리 설치와 환경설정에 대한 정보가 나와있다.
API 키 값 생성하고 안드로이드 스튜디오에 작성하기
https://console.cloud.google.com/welcome/new?project=igneous-axiom-426807-f3
Google 클라우드 플랫폼
로그인 Google 클라우드 플랫폼으로 이동
accounts.google.com
사용 클릭하기
사용자 API 키 생성 후, API 키를 클릭해서 들어가서
Maps SDK for Android API를 선택하여 저장 누르고,
키 표시 눌러서 키 값 저장해두기
Android -> Project Files로 이동하기
local.defaults.properties 와 secrets.properties 파일 만들고, local.defaults.properties를 아래와 같이 작성한다.
API 키 복사한 것 secrets.properties에 작성하기
build.gradle (:app)
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
secrets {
// Optionally specify a different file name containing your secrets.
// The plugin defaults to "local.properties"
propertiesFileName = "secrets.properties"
// A properties file containing default secret values. This file can be
// checked in version control.
defaultPropertiesFileName = "local.defaults.properties"
// Configure which keys should be ignored by the plugin by providing regular expressions.
// "sdk.dir" is ignored by default.
ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore"
ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*"
}
buildFeatures {
buildConfig = true
}
implementation("com.google.android.gms:play-services-maps:18.2.0")
Sync Now 누르기
Manifest 설정하기
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="${MAPS_API_KEY}"/>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
build.gradle (Project)
buildscript {
dependencies {
classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1")
}
}
activity_main 작성하기
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:name="com.google.android.gms.maps.SupportMapFragment">
</fragment>
MainActivity 작성하기
package com.~.map;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
// 지도 준비되면 해달라는 함수
mapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(@NonNull GoogleMap googleMap) {
// 맵이 준비되면 내 위치를 중심으로 지도가 나오게 해라 라는 코드 작성
// 1. 특정 위도, 경도 값으로 지도의 위치를 적용시키는 코드
LatLng myLocation = new LatLng(37.5428, 126.6772); //표현하고자 하는 위치의 위도 경도 작성
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(myLocation, 17));
// 2. 마커를 만들어서, 지도에 표시하는 코드
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(myLocation).title("연희직업전문학교");
// 3. 마커를 클릭하면, 동작하는 코드 작성
// 중요! 위에서 MarkerOptions를 만들 때, 태그를 달아줘서 구분해 줘야 한다.
googleMap.addMarker(markerOptions).setTag(0);
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(@NonNull Marker marker) {
int tag = (int) marker.getTag();
Toast.makeText(MainActivity.this,
"제가 누른 마커의 태그는 : " + tag + "\n 타이틀은 : " + marker.getTitle(),
Toast.LENGTH_SHORT).show();
return false;
}
});
// 4. 지도의 타입을 설정하는 코드
// googleMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
}
});
}
}
'Android' 카테고리의 다른 글
키워드 입력하면 내 주변에 있는 장소 검색하여 지도 띄워주는 앱(app) 만들기 (nearbysearch API 사용) (0) | 2024.06.19 |
---|---|
안드로이드 스튜디오 GPS 기능으로 지도에 마커 추가하기 (0) | 2024.06.18 |
안드로이드 스튜디오 탭 바(Tab Bar) 구현하기 (0) | 2024.06.18 |
사진을 포스팅하는 어플리케이션(App) 개발하기 (0) | 2024.06.17 |
(안드로이드 스튜디오) 카메라 촬영 사진 업로드 권한 설정, 이미지 업로드하는 기능 만들기 (2) | 2024.06.14 |