Google API(외부 라이브러리)에 포함되어 있는 MapController와 GeoPoint 클래스를 이용하여 지도상에서 원하는 지리적 위치를 화면의 중앙에 오도록 설정하는 예
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
소스에서 지정한 강남구청역 부근이 화면의 중앙에 위치하는 것을 확인할 수 있다.