1. gradle 추가

2. AndroidManifest 추가

3. xml 작성

4. java 작성

 


https://sseong66.tistory.com/47

 

[Android] 구글맵 API 키 발급

구글맵 API 키 발급 받기 https://console.cloud.google.com/projectselector2/apis/dashboard Google Cloud Platform 하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요. a..

sseong66.tistory.com

시작하기 전에 API 키를 발급받지 않았으면 위 링크로 이동해 API 키 발급을 먼저 진행해주세요.

 

 

1. gradle 추가

dependencies {

	...

    implementation 'com.google.android.gms:play-services-maps:17.0.0'
    implementation 'com.google.android.gms:play-services-location:17.0.0'
}

dependencies에 구글맵에 필요한 2가지 종속성을 추가시킨 후 Sync Now 클릭.

 

 

2. AndroidManifest 추가

<manifest>

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

    <application
        
        ...

        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="AIzaSyCkR6r2uJz2dK5J3pP2Gj9Pq9iv-GfXu7o"/>

    </application>

</manifest>

구글맵에 필요한 uses-permission 2개와 meta-data를 추가시켜줍니다.

meta-data의 value에는 발급받은 API키를 입력하면 됩니다.

 

 

3. xml 작성

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/gMap"
	android:layout_width="match_parent"
	android:layout_height="match_parent"
	class="com.google.android.gms.maps.SupportMapFragment"/>

xml에 구글맵을 표시할 fragment를 추가해줍니다.

class를 작성하지 않으면 앱이 정상 작동이 되지 않을 수 있습니다! (이틀 날려먹음 T^T)

 

4. java 작성

public class MainActivity extends AppCompatActivity implements OnMapReadyCallback {

    GoogleMap map;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.gMap);
        mapFragment.getMapAsync(this);

    }

    @Override
    public void onMapReady(GoogleMap googleMap) {

        map = googleMap;

        LatLng location = new LatLng(37.239912, 131.869296);
        MarkerOptions markerOptions = new MarkerOptions();
        markerOptions.title("독도");
        markerOptions.snippet("Dokdo is korean territory");
        markerOptions.position(location);
        map.addMarker(markerOptions);

        map.moveCamera(CameraUpdateFactory.newLatLngZoom(location,16));
    }
}

아무것도 작성하지 않아도 실행이 가능합니다.

 

위와 같이 작성하시면 지도에 마커를 생성할 수 있습니다.


+ Recent posts