구글맵을 블루투스 기기를 사용해 간접적으로 제어하고자 했는데 구글맵이 레이아웃에선 fragment로 선언되어 있어
이를 단순히 onMapReady() 함수 안에서 GoogleMap을 다루듯이 사용하는데 조금 어려움이 있었다.
우선 아래는 맵 내비게이션을 위해 찾게 된 구글맵 레퍼런스 페이지에서 패닝(스크롤)를 위해 참고하고자 하는 내용은 아래와 같다.
CameraUpdateFactory는 animateCamera()나 moveCamera()등 카메라 관련 메소드에서 사용할 수 있는데
우선으로 시험해보고자 animateCamera()를 사용하기로 했다.
googleMap.animateCamera(CameraUpdateFactory.scrollBy(x, y));
이제 정말 문제가 됬던 건 위의 코드를 onMapReady 안에서만 googleMap 객체를 사용할 수 있고,
이를 외부에서 레이아웃을 통해 가지고 오려 하다보니 생각대로 되지 않았던 것이다.
얼마 시간이 있고나서 아주 기초적인 방법으로 구글맵 객체를 참조하는데 성공했다.
방법은 onMapReady() 함수 안에 setGoogleMap(Googlemap m)이라는 메소드를 만들어
함수 외부에 선언한 GoogleMap map 객체가 참조하도록 만드는 것이다.
이렇게 함수 안의 구글맵을 외부 구글맵 변수에 집어넣고 나면 onMapReady에서 사용하던 대로 googleMap에서 사용 가능한
메소드들을 활용할 수 있게 된다.
참조 :
https://developers.google.com/maps/documentation/android-api/views?hl=ko
'ANDROID' 카테고리의 다른 글
[안드로이드] 기기의 GPS 정보를 따라 위도, 경도를 가져오기 (FusedLocationProviderClient) (0) | 2018.05.29 |
---|---|
[안드로이드] 터치이벤트를 수동으로 생성해 입력하기 (0) | 2018.05.25 |
[안드로이드] TabbedActivity에서 각 Fragment의 레이아웃 구성요소 설정 및 제어 (0) | 2018.04.24 |
[안드로이드] Swipe View 적용을 위한 TabbedActivity 생성 및 풀스크린 레이아웃 적용 (0) | 2018.04.19 |
[안드로이드] 안드로이드 Toast 메시지 딜레이를 조정하자 (0) | 2018.04.12 |