2013년 1월 20일 일요일

Fragment 를 사용한 Google Map 에서 지정한 위치로 이동, 마커 표시하기

Android에서 MapActivity가 아닌 Fragment로 구글맵을 표시할수 있게 되었다.

이 과정에서 원하는 위치 표시하는 방법을 몰라서 헤맸는데

- 예전에 사용하던 MapActivity의 MapController로는 안되더라.. -

 커뮤니티에서의 도움으로 해결 할 수 있었다.(안사의 루틴님 감사합니다^^)

먼저 Fragment를 이용하여 구글맵을 표시하는 방법은 다음과 같다.

MapActivity.java
public class MapActivity extends FragmentActivity {
 
 GoogleMap mGoogleMap;
 LatLng loc = new LatLng(위도, 경도); // 위치 좌표 설정
 CameraPosition cp = new CameraPosition.Builder().target((loc)).zoom(16).build();
 MarkerOptions marker = new MarkerOptions().position(loc); // 구글맵에 기본마커 표시
  
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.map);
     
     mGoogleMap = ((SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); 
// 화면에 구글맵 표시
     mGoogleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cp)); // 지정위치로 이동
     mGoogleMap.addMarker(marker); // 지정위치에 마커 추가
               
     // TODO Auto-generated method stub
 }
}

map.xml

    

    


더욱 자세한 맵 표시는 커니님의
커니의 안드로이드 이야기
 - Google Maps Android API v2 사용하기 (인증 및 초기설정, 지도 띄우기) -
를 참조하도록 하자.

댓글 1개:

  1. 위도 경도 매개변수 부분에서 오류나는건 먼가요 ㅠㅠㅠㅠ

    답글삭제