지도(Map), Map 용어, Map 메소드, 안드로이드 사용 좌표값, 우리나라가 속한 경위도 값의 범위, AndroidManifest.xml 추가된 항목

CODEDRAGON Development/Android

반응형

 

 

지도(Map)

기본 지도 이미지 위에 표시되는 모든 것들은 각각 레이어(Layer)로 분리되어 보여지고 구글맵에서는 이런 레이어들을 오버레이(Overlay)라고 부릅니다.

 

 

Map 용어

구분

설명

레이어(Layer)

유사한 속성을 가진 객체들을 넣어둔 층

cf) 포토샵의 레이어와 유사

오버레이(Overlay)

레이어의 집합

마커(Marker)

아이콘을 이용해 원하는 위치를 포인트로 쉽게 표시하기 위해 사용

 

 

Map 메소드

getMaxZoomLevel()

최대로 설정할 수 있는 축적값을 확인할수 있습니다.

위치에 따라 다르지만 일반적으로 19~21사이가 최대 축척값으로 나타납니다.

map.animateCamera()

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

축척 값이 클수록 가까이서 본 것처럼 확대되어 보여지게 됩니다.

17~18의 축척값은 도시 건물 몇 개를 한눈에 볼 수 있을 정도로 확대되어 보여집니다.

 

 

 

 

안드로이드 사용 좌표값

·         경위도 좌표계 사용합니다.

·         위도와 경도 값은 double타입을 가집니다.

·         보통 소수점  여섯자리 또는 소수점  일곱 자리까지 표현합니다.

 

 

LatLng

위도와 경도값은 LatLng객체를 이용해서 만들 수 있으며

지도 위에 표시되는 새로운 포인트 생성할 수 있습니다.

Lat

Latitude, 위도

Lng

Longitude, 경도

 

static final LatLng ADDRESS_GANGNAMSTATION = new LatLng(37.498155, 127.027642);

 

 

우리나라가 속한 경위도 값의 범위

구분

범위

위도

36~38

경도

126~128

 

 

 

XML레이아웃에 <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>

 

 

 

반응형