본문 바로가기

프로그래밍/안드로이드

위치 기반 서비스


안드로이드에서 위치 기반 서비스 기능

 1. 맵 API (com.google.android.maps)
- 맵을 표시하고 변경(위성뷰 --> 거리뷰), 맵에 사용자 정의 데이터를 추가할 수 있다.
 2. 위치 API (com.android.location)
- 세계 위치 시스템(GPS)과 실시간 위치 시스템이다.


구글에서 맵 API 키 발급받기

Google Map Configurations

1. local 계정 이동

   C:\Documents and Settings\4c6\.android

 

2. debug.keystore 파일 복사

3. 자바설치 디렉토리 이동

   C:\Program Files\Java\jdk1.6.0_10\bin

 

4. debug.keystore 파일 붙여넣기

5. 윈도우시작 > 실행 > cmd

 

6. cmd 창에서 자바설치 디렉토리 이동

   C:\Documents and Settings\4c6>cd C:\Program Files\Java\jdk1.6.0_10\bin

 

7. 입력 후 실행

   C:\Program Files\Java\jdk1.6.0_10\bin>keytool -list -alias androiddebugkey -keys
tore debug.keystore -storepass android -keypass android

 

8. 인증서 지문 복사 82:83:E1:4D:52:26:86:52:3E:4C:7B:EB:FA:B6:5B:0E

 

9. 구글 접속

   https://code.google.com/intl/ko/android/maps-api-signup.html

   동의 체크 

   My certificate's MD5 fingerprint 인증서 지문 붙여넣기

   Gernerate API key 버튼 클릭

 

10. 코드 복사 후 main.xml 에 붙여넣기

 

프로그램제작

1. 프로젝트 생성

 

 

2.main.xml 추가

   google에서 받은 키를 입력

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
 
    <com.google.android.maps.MapView  
       android:id="@+id/mv01"             
       android:layout_width="fill_parent"                
       android:layout_height="fill_parent"                
       android:apiKey="0KaMM1WyUeF8XTNGmAfPBpxRni6kGKKwSBA7A8A"
       android:clickable="true"
       android:focusable="true"
                 />
</LinearLayout>

 

 

3. AndroidManifest.xml 변경

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="hjh.map"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".Map1Activity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
  <uses-library android:name="com.google.android.maps"
     android:required="true"/>

    </application>
    <uses-sdk android:minSdkVersion="7" />
 <uses-permission android:name="android.permission.INTERNET"/>
</manifest>

 

 

4. Map1Activity.java 변경

package hjh.map;

import! com.google.android.maps.MapActivity;

import! android.app.Activity;
import! android.os.Bundle;

public class Map1Activity extends MapActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
   
    @Override
    protected boolean isRouteDisplayed(){
     return false;
    }
}

 

 

5. Emulator 추가

 

 

 

 

 

6. 실행결과

 




[출처] http://blog.daum.net/_blog/BlogTypeView.do?blogid=09Bvm&articleno=13222370&_bloghome_menu=recenttext#ajax_history_home