GDSC HUFS 3기/Android with Kotlin Team 6

[6팀] 코틀린 안드로이드 기초강의 51 Android 구글 맵 사용하기

qkrgusqls 2021. 12. 26. 15:54

 

이 글은 이것이 안드로이드다 with 코틀린(개정판)를 참고하여 작성하였습니다.

작성자 : 박현빈 

개발환경은 Windows, Android Studio입니다. 

 

 

setting -> sdk tools -> google play services 다운로드

 

새로운 프로젝트 생성시 Google Maps Activity를 선택하여 생성해준다.

링크로 들어가 API키(안드로이드앱)를 생성하고 복사해서 .xml파일의 YOUR_KEY 부분에 붙여넣기 해주면 된다. 

 

 

에뮬레이터를 켜서 실행해보면, 처음 등록되어있는 시드니 좌표를 보여준다.

(에뮬레이터에 google play 확인)

 

좌표바꾸기 

서울시청의 좌표로 바꾸어준다

 

mMap = googleMap
        val seoul = LatLng(37.5663, 126.9779)// 서울의 좌표

        // 마커  표시해주는 기능
        val marker = MarkerOptions()
            .position(seoul)
            .title("Marker in Seoul")
        mMap.addMarker(marker)

        //카메라 위치
        val cameraOption = CameraPosition.Builder()
            .target(seoul)
            .zoom(12f)//줌기능 
            .build()
        val camera = CameraUpdateFactory.newCameraPosition(cameraOption)
        
        mMap.moveCamera(camera)

.zoom(), 12f를 변경하여 줌의 정도를 변경가능하다. 

 

에뮬레이터 실행시 서울특별시 좌표가 나온다. 

 

마커아이콘 변경 및 사용법

 

적당한 마커 아이콘 png 파일을 다운로드 해준다. 

마커의 크기가 앱사이즈에 맞아야하기 때문에 크기를 변환해주는 코드를 작성한다

 

fun getDescriptorFromDrawable(drawableId: Int) : BitmapDescriptor{
        var bitmapDrawable:BitmapDrawable
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
            bitmapDrawable = getDrawable(R.drawable.marker) as BitmapDrawable
        }
        else{
            bitmapDrawable = resources.getDrawable(R.drawable.marker) as BitmapDrawable
        }
       val scaledBitMap = Bitmap.createScaledBitmap(bitmapDrawable.bitmap, 100, 100, false) // 마커 크기 변환 코드 
	   val descriptor = BitmapDescriptorFactory.fromBitmap(scaledBitmap) // 디스크립터에 저장해서 마커에게 전달 
    }