MapDemo-Google Map API를 이용해 지도 표시 하기

CODEDRAGON Development/Android

반응형

Google Map API를 이용해 지도 표시 하기

   

   

강의 내용

activity_main.xml

RelativeLayout 변경

<fragment>태그 추가

  

MainActivity.java

지도에 강남역에 표시하기

//기본 마커표시

//화면에 지정한 위도 경도 표시

//맵에 원하는 위치 표시

확인

   

내 위치 아이콘 클릭시 현재 위치로 이동

//나의 현재 위치 읽어오기

//나의 현재 위치로 이동할 수 있는 아이콘 표시

확인

   

//마커 표시

-//마커 모양 변경

   

마커가 클릭되면 토스트 메시지 오픈

//맵에 이벤트 연결

//마커 클릭시 이벤트 핸들러-onMarkerClick

//말풍선 클릭시 이벤트 핸들러-onInfoWindowClick

  

AndroidManifest.xml

android:minSdkVersion="11"

권한 추가

글 API Key 추가

\res\drawable\

마커 이미지 추가

marker_flag.png

marker.png

pin.png

   

   

<fragment>태그 추가

XML레이아웃에 지도를 보여주기 위한 프래그먼트 추가

프래그먼트는 <fragment>태그를 사용해서 뷰처럼 화면의 특정 영역을 할당받게 됩니다.

   

id

자바코드에서 사용하기 위해 맵뷰에 주어진 ID값입니다.

class

"com.google.android.gms.maps.MapFragment"

속성으로 지정된 클래스가 화면영역에 보여지게 되며

예제에서는 MapFragment클래스가 사용되고 있습니다.

   

   

AndroidManifest.xml 추가된 항목

   

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="kr.android.map"

    android:versionCode="1"

    android:versionName="1.0" >

    <uses-sdk

        android:minSdkVersion="11"

        android:targetSdkVersion="19" />

<!--OpenGL 2.0 이상을 지원하는 단말기에서 실행되도록 하기-->        

<uses-feature android:required="true" android:glEsVersion="0x00020000"/>        

<!--권한 설정-->

<uses-permission android:name="android.permission.INTERNET"/>

<!--Cell ID, WiFi 관련 Permission-->

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

<!--GPS 관련 Permission -->

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<!--네트워크 상태 정보 관련 Permission -->

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

     

    <application

        android:allowBackup="true"

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/AppTheme" >

          

        <!-- 구글 API Key 추가 -->

        <meta-data

                android:value="AIzaSyDPPJAMjDYQkBDxp2dOS3NPq5vjFKY6_QQ"

                android:name="com.google.android.maps.v2.API_KEY"/>

        <meta-data

                        android:name="com.google.android.gms.version"

                        android:value="@integer/google_play_services_version" />

          

        <activity

            android:name="kr.android.map.MainActivity"

            android:label="@string/app_name" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

    </application>

</manifest>

   

출처: <https://github.com/10zeroone/study_Android/blob/master/72MapDemo/AndroidManifest.xml>

  

   

   

 

   

출력 결과

에뮬레이터 실행시 구동되지 않음

   

map.animateCamera()이용해서 해당 위치를 중심으로 지도를 보여주게 됩니다.

   

디바이스에서 실행한 화면