9D4U 2018. 7. 13. 18:17
728x90
반응형


○ 구글 맵 안드로이드 API 구성 요소

- GoogleMap

- MapView

- MapFragment

- SupportMapFragment

- Marker

- Shapes

- UiSettings

- My Location Layer

○ 개발자 서명 얻기

1. 구글 API를 사용하기 위해서는 사전에 구글 API 콘솔(Console)에 등록해야함.

2. google_maps_api.xml에 'https://console.developers.google.com~'로 시작하는 주소에 가서 로그인 후 인증 키를 받음.

○ 지오코딩과 역-지오코딩 <- 인터넷에 연결되어 있을 때만 지오코딩이 가능하다는 것에 유의

1. 지오코딩 : 텍스트 기반의 지리적 위치를 위도와 경로의 지리적 좌표로 변환하는 것

- 안드로이드 Geocoder 클래스를 사용하여 할 수 있음.


○ 현재 위치 퍼미션 요청

1. 매니페스트 파일 android.permission.ACCESS_FINE_LOCATION <- 프로젝트 생성 시 액티비티 탬플릿을 'Google Maps Activity'로 선택하면 자동으로 추가됨.

○ 사용자의 현재 위치 보여주기

1. 지도를 보여줄 준비가 되면 액티비티의 'onMapReady()'메서드가 호출됨.

2. setMyLocationEnabled() 메서드를 호출

○ 지도 타입 변경

1. GoogleMap 객체의 setMapType() 메서드를 호출하면 보여주는 지도의 타입을 동적으로 변경가능.

- GoogleMap.MAP_TYPE_NONE : 격자선 없이 나타냄

- GoogleMap.MAP_TYPE_NOMAL : 전형적인 도로 지도로 구성되는 표준

- GoogleMap.MAP_TYPE_SATELITE : 인공위성 사진

- GoogleMap.MAP_TYPE_HYBRID : 도로 지도가 겹쳐진 인공위성 사진

- GoogleMap.MAP_TYPE_TERRAIN : 등고선과 색상 등의 지형 정보


2. 지도 타입을 변경하는 또 다른 방법으로는 xml 레이아웃 파일에 지도의 타입을 지정하면 됨.(none, normal, hybrid, satelite, terrain)

   (예: map:mapType="satelite")

○ 맵 컨트롤을 사용자에게 보여주기 

1. 코드로 컨트롤 구성 : GoogleMap객체와 연관된 UISettings 객체의 참조 얻기

예: UISettings mapSettings;

     mapSettings = mMap.getUISettings();

     mapSttings.setZoomControlsEnabled(true);

2. XML 렐이아웃 리소스의 맵 요소 제어

예: map:uiZoomControls="false"

○ 지도 표식 생성

1. 표식은 지도상의 위치를 사용자에게 알려주는 데 사용.(표식은 제목과 스니펫을 포함)

2. Marker 클래스 인스터스로 나타냄 + GoogleMap 객체의 addMarker() 메서드 호출.



728x90