CHAP 19. 구글맵
위치 기반 애플리케이션
위치 정보를 얻는 방법 GPS(Global Position System) 전화 기지국을 이용 WiFi의 AP(Access Point)를 이용
구글 API 패키지 설치
에뮬레이터 추가
위치 제공자 나열
실행 결과
사용자 위치 구하기
매니페스트 파일
실행결과
구글 지도 패키지 구글 지도 라이브러리를 제공 com.google.android.maps 패키지 맵뷰(MapView): 구글 지도 서비스로부터 얻어진 데 이터로 화면에 지도를 그린다.
인텐트를 이용하여서 지도 애플리케이션 실행
실행 결과
구글 지도 서비스 등록 애플리케이션을 서명할 때 사용하는 인증서의 MD5 지문을 제공
구글 지도 표시하기 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="kr.co.infinity.MapTest" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MapTest1" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar"> <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" /> </application> <uses-sdk android:minSdkVersion="8" /> <uses-permission android:name="android.permission.INTERNET" /> </manifest>
레이아웃 파일 <?xml version="1.0" encoding="utf-8"?> <com.google.android.maps.MapView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mapview" android:layout_width="fill_parent"android:layout_height="fill_parent" android:clickable="true" android:apiKey="0ZAYPcNFeF0vd4xwxGbDSGuEslhrHbEtdOFiy7w" />
코드 public class MapTest extends MapActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } protected boolean isRouteDisplayed() { return false;
실행 결과
맵뷰 제어하기 getController() 메소드를 호출하면 프로그램에 서 코드를 이용하여서 맵뷰를 제어 getOverlays() 메소드를 이용하여서 지도 위에 많은 오버레이들을 그릴 수 있다. setSatellite(boolean), setTraffic(boolean), setStreetView(boolean)를 호출하여서 지도 모드 변 경 십자선은 setReticleDrawMode()를 이용하여서 표시