본문 바로가기

카테고리 없음

Google Maps Demo 2

Google API(외부 라이브러리)에 포함되어 있는 MapControllerGeoPoint 클래스를 이용하여 지도상에서 원하는 지리적 위치를 화면의 중앙에 오도록 설정하는 예

Eclipse 에서 프로젝트를 설정하는 방법은 여기를 참고하세요.

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.ojtit.android.demo"
  android:versionCode="1"
  android:versionName="1.0.0">
 
 <application android:icon="@drawable/icon" android:label="@string/app_name">
 
  <uses-library android:name="com.google.android.maps" />
 
  <activity android:name=".GoogleMapsActivity"
  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>
 
 <uses-sdk android:minSdkVersion="7" />
 <uses-permission android:name="android.permission.INTERNET" />

</manifest>


main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">

 <com.google.android.maps.MapView
  android:id="@+id/mapview"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:enabled="true"
  android:clickable="true"
  android:apiKey="0lbzaFTEasdfasdfasdf-idCXzDE_Ga8XL4Q"
 />

</RelativeLayout>


GoogleMapsActivity.java

package com.ojtit.android.demo;

import android.os.Bundle;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;

public class GoogleMapsActivity extends MapActivity
{
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  MapView mapView = (MapView) findViewById(R.id.mapview);
  mapView.setBuiltInZoomControls(true); //지도 확대/축소기능 활성화
  // 아래 라인을 사용하면 지도처럼 표현하는 것이 아니라 위성에서 촬영한 항공사진이 출력됨
  mapView.setSatellite(true);
  // 아래의 위도, 경도 좌표는 '37.517180' 에서 숫자 사이의 '.' 을 제거한 표현임
  GeoPoint geoPoint = new GeoPoint(37517180,127041268); // 강남구청역
  MapController mc = mapView.getController();
  mc.animateTo(geoPoint);

  mc.setZoom(17);
 }
 
 @Override
 protected boolean isRouteDisplayed() {
  return true;
 }
}


 Run As > Android Application
소스에서 지정한 강남구청역 부근이 화면의 중앙에 위치하는 것을 확인할 수 있다.

사용자 삽입 이미지