본문으로 바로가기


안녕하세요. PEACE-입니다.

안드로이드 스터디 [열일곱 번째]글입니다.


지난 포스팅까지 'Google Maps 키 발급 - 마커 생성 - 마커 옵션'의 과정으로 공부했습니다. 본 포스팅은 간단하게 여러 개의 마커를 찍는 방법에 대해 알아보겠습니다.




** 안드로이드 구글 맵 - 1

[ Google Maps API Key 발급 받기 : http://mailmail.tistory.com/17 ]    

** 안드로이드 구글 맵 - 2

[ Android Google Map 마커 구현 : http://mailmail.tistory.com/18 ]    

** 안드로이드 구글 맵 - 3

[ Android Google Map 마커 옵션 사용법  : http://mailmail.tistory.com/19 ]    

** 안드로이드 구글 맵 - 4

[ Android Google Map 마커 여러개 생성하기 : http://mailmail.tistory.com/20 ]    

** 안드로이드 구글 맵 - 5

[ Android Google Map 마커 클릭 이벤트 처리 http://mailmail.tistory.com/21 ]    

** 안드로이드 구글 맵 - 6 (예정)

[ Android Google Map 마커 클러스터링 ]    




1. 마커 여러개 생성하기

마커를 '안드로이드 구글 맵 - 2' 포스팅에서 마커를 생성하는 방법을 다뤘습니다. 하지만 마커를 한개만 사용하는 일은 지극히 드뭅니다. 마커를 여러개 생성하는 방법은 여러가지가 있습니다. 우선 마커를 생성하는 과정은 다음과 같습니다.

'MarkerOptions 설정(위도 경도 타이틀 등) -> GoogleMap 객체에 addMarker 메서드를 통해 추가하기'

그리고 위와 같은 과정을 반복하면 여러개의 마커가 생성됩니다. 위와 같은 과정을 반복하는 방법은 반복문을 통한 'MarkerOptions 설정과 addMarker 메서드 사용이 있겠습니다. 소스코드는 이전 포스팅을 통해 onMapReady 메서드 사용 법을 알고 있다는 가정하에 필요한 부분만 올리겠습니다.

@Override
public void onMapReady(GoogleMap googleMap) {
// 구글 맵 객체를 불러온다.
mMap = googleMap;

// for loop를 통한 n개의 마커 생성
for (int idx = 0; idx < 10; idx++) {
// 1. 마커 옵션 설정 (만드는 과정)
MarkerOptions makerOptions = new MarkerOptions();
makerOptions // LatLng에 대한 어레이를 만들어서 이용할 수도 있다.
.position(new LatLng(37.52487 + idx, 126.92723))
.title("마커" + idx); // 타이틀.

// 2. 마커 생성 (마커를 나타냄)
mMap.addMarker(makerOptions);
}

// 카메라를 위치로 옮긴다.
mMap.moveCamera(CameraUpdateFactory.newLatLng(new LatLng(37.52487, 126.92723)));
}