설.현.아빠
[MapView] 구글 지도 연동하기. 본문
<?xml version="1.0" encoding="utf-8"?> <!-- main.xml --> <?xml version="1.0" encoding="utf-8"?> <!-- AndroidManifest.xml --> <uses-library android:name="com.google.android.maps" android:required="true"></uses-library> <uses-permission android:name="android.permission.INTERNET"></uses-permission> // HelloMaps.java package com.androidhuman.example.HelloMaps; import java.util.List; import android.graphics.drawable.Drawable; import com.google.android.maps.GeoPoint; public class HelloMaps extends MapActivity { @Override // HelloItemizedOverlay.java package com.androidhuman.example.HelloMaps; import java.util.ArrayList; import android.graphics.drawable.Drawable; import com.google.android.maps.ItemizedOverlay; public class HelloItemizedOverlay extends ItemizedOverlay { private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>(); @Override @Override }
<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/mainMapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:apiKey="sample api key"
android:clickable="true"
/>
</LinearLayout>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.androidhuman.example.HelloMaps"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".HelloMaps"
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="8" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
</manifest>
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.ZoomControls;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;
List<Overlay> mapOverlays;
Drawable drawable;
HelloItemizedOverlay itemizedOverlay;
LinearLayout linearLayout;
MapView mapView;
ZoomControls mZoom;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView = (MapView)findViewById(R.id.mainMapview);
mapView.setSatellite(true); // 위성사진으로 보여준다.
mapView.setBuiltInZoomControls(true); // 사용자가 직접 배율을 조정할 수 있게 허용해 준다.
GeoPoint geoPoint = new GeoPoint(37498806,126932621);
// 원하는 좌표점을 갖는 geoPoint객체 생성.
MapController mapController = mapView.getController();
mapController.animateTo(geoPoint); // 좌표점으로 이동
mapController.setZoom(16); // 줌인 단계 설정
// 지도위에 올리려는 모든 Layer는 Overlay클래스를 상속받아 구현되있다.
mapOverlays = mapView.getOverlays(); // Map View의 overlay list를 얻어온다.
drawable = this.getResources().getDrawable(R.drawable.androidmarker);
itemizedOverlay = new HelloItemizedOverlay(drawable);
OverlayItem overlayitem = new OverlayItem(geoPoint, "", "");
// geoPoint좌표를 이용해서 overlayitem 생성
itemizedOverlay.addOverlay(overlayitem);
// overlayitem객체를 itemizedOverlay에 추가.
mapOverlays.add(itemizedOverlay);
// itemizedOverlay를 mapOverlays에 추가.
}
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;
public HelloItemizedOverlay(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
// 아이콘의 아래의 중간부분이 좌표에 위치하도록 지정함.
}
protected OverlayItem createItem(int arg0) {
// TODO Auto-generated method stub
return mOverlays.get(arg0);
}
public int size() {
// TODO Auto-generated method stub
return mOverlays.size();
}
public void addOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
populate();
// add()메서드가 호출될 때마다 populate()가 호출 되어야 한다.
// 각각의 Overlayitem들을 읽어서 그려낼 준비를 한다.
}
'안드로이드 > Map' 카테고리의 다른 글
The Friend Finder - MapActivity using GPS - PART: I / II (0) | 2011.02.11 |
---|---|
Google Driving Directions - MapView overlayed (0) | 2011.02.11 |
Location application 작성 시 참고할 prototype (0) | 2011.02.11 |
구글맵 관련 API가 잘 정리된 사이트 (0) | 2011.02.11 |
현재 Location 정보 얻기 (0) | 2011.02.11 |