본문 바로가기
Study/Android

google maps android API를 이용한 지도 1 - FragmentActivity

by Answer Choi 2015. 10. 23.
반응형


Android에 Google 지도를 올릴때, Google WebView를 이용하여 Google maps javascript API를 


이용할 수도 있지만, Google maps android API를 이용 할 수도 있습니다.


방법으로는 FragmentActivity를 이용하여 Activity로 구현하는 방법과


Fragment로 구현하는 2가지의 방법이 있습니다.


먼저 Activity로 구현해 보겠습니다.


먼저 XML입니다.


1
2
3
4
5
6
<fragment
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="9"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.MapFragment" />
cs


width와 height는 자신의 디바이스에 맞추면 됩니다.


중요한건 기존 WebView를 fragment로 바꿔주고, 이름을 위와 같이 바꿔줬습니다.


API 12보다 아래 버전에서는 MapFragment가 아닌 SupportMapFragment를 써야합니다.


이제 Java 코드를 볼게요.


1
public class newmapActivity extends FragmentActivity implements OnMapReadyCallback{
cs


맵을 구현 할 클래스가  fragmentActivity를 상속받아야 하고, OnMapReadyCallback을 


interface해야 합니다.


1
2
MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
cs


Line 1 : xml에서 만들어준 MapFragment를 만들어 줬으니 MapFragment로 선언해줍니다.


Line 2 : 이부분이 OnMapReadyCallback을 호출하는 부분입니다.


여기까지 끝나면 맵이 나타나게 됩니다.


맵에 대한 세팅은 OnMapReadyCallback으로 override 된 onMapReady에서 해주면 됩니다.


저는 맵에 DB에서 저장되어 있던 운동경로등을 가져와서 polyline과 Marker로 띄워봤습니다.


아래 지도가 Google maps Android API로 만든 화면입니다.

 


그리고 아래는 Google maps JavaScript V3 API를 이용하여 만든 화면입니다.




반응형

인기글