일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 신도림 테크노마트
- 앱스토어
- push
- Xcode
- 얻는법
- 신도림
- 공략
- 스마트폰
- Example
- swift
- loop
- 샘플
- IOS
- 포켓볼
- LG유플러스
- Check
- 보라카이
- setting
- UITableView
- afterdelay
- 해몽
- error
- 아이폰7
- GCD
- simulator
- Bitcode
- 포켓몬 GO
- swift3
- 페이백
- UIView
- Today
- Total
도래울
Android GoogleMaps 예제 본문
googleMaps
[어플리케이션 정보]
액티비티
- googlemaps (googlemaps.java)
레이아웃
- main.xml
권한 (uses-permission)
- android.permission.INTERNET
- android.permission.ACCESS_FINE_LOCATION
외부 라이브러리 (uses-library)
- com.google.android.maps
API Level
- 6 : Google APis [Android 2.0.1]
1. 프로젝트 생성
2.레이아웃 생성 (main.xml)
<?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/maps"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:apiKey="07Bf8vpdKrCyD-ruOGuC0evrx57YI1B39FaP9Ag" //API Key 입력
android:clickable="true" //android:clickable 속성은 사용자의 상호작용 허용 여부를 설정
android:focusable="true"
/></LinearLayout>
3.소스코드의 작성 (googlemaps.java)
- package com.test.googlemap;
- import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast; - 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 googlemap extends MapActivity { //MapActivity 를 상속
private final int GROUP_ID_ONE=0;
private final int ZOOM_IN_ID =1;
private final int ZOOM_OUT_ID=2;
private final int GOTO = 3;
private MapView maps;
private boolean isSatellite = true;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
maps = (MapView)findViewById(R.id.maps);
maps.setBuiltInZoomControls(true); //기본 줌인-줌아웃 콘트롤 활성화
maps.isTraffic(); //교통정보 표시
if(isSatellite){
maps.setSatellite(false);
}
}@Override
protected boolean isRouteDisplayed() { //추상메소드
// TODO Auto-generated method stub
return false;
}public boolean onCreateOptionsMenu(Menu m){
super.onCreateOptionsMenu(m);
m.add(GROUP_ID_ONE, ZOOM_IN_ID, 0, "Zoom In"); //줌인메뉴
m.add(GROUP_ID_ONE, ZOOM_OUT_ID, 0, "Zoom Out"); //줌아웃메뉴
m.add(GROUP_ID_ONE,GOTO, 0, "go to" ); //서울시로 찾아가는 메뉴
return true;
}
public boolean onOptionsItemSelected(MenuItem mitem){
super.onOptionsItemSelected(mitem);
MapController controll = maps.getController();
switch(mitem.getItemId()){
case ZOOM_IN_ID:
if(!controll.zoomIn()){
Toast.makeText(this, "최대줌인 레벨도달 ", Toast.LENGTH_SHORT).show();
}
case ZOOM_OUT_ID:
if(!controll.zoomOut()){
Toast.makeText(this, "최대 줌아웃레벨도달", Toast.LENGTH_SHORT).show();
}
case GOTO:
maps.setSatellite(true); //지도를 위성사진으로 설정
GeoPoint p = new GeoPoint(37565263 , 126980667); //서울의 좌표controll.animateTo(p); //해당위치로 이동 메소드
controll.setZoom(13); // 줌레벨 설정
}return true;
}
}
4.AndroidManifest.xml 파일의 수정
- 퍼미션의 추가
Permissions 탭을 클릭
Add 버튼을 클릭
User Permission 선택
android.permission.ACCESS_FINE_LOCATION (위치찾기 권한)을 추가
android.permission.INTERNET (인터넷 연결 권한 )을 추가
Permission 추가 완료
- 외부 라이브러리 설정
Application 탭을 클릭
Add 버튼을 클릭
User Library 선택
com.google.android.maps 라이브러리를 선택하고 Reauired 속석에 true 를 로 설정
- <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.googlemap"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".googlemap"
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"></uses-library> //외부라이브러리
</application>
<uses-sdk android:minSdkVersion="6" /> - <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> //권한 설정
<uses-permission android:name="android.permission.INTERNET"></uses-permission> //권한 설정
</manifest>
- 에뮬레이터 설정
에뮬레이터 설정시 반드시 Target 를 Google API 로 설정해야 한다
'개발 > Android' 카테고리의 다른 글
Android 2.3(Gingerbread) 에서 추가된 기능 (0) | 2016.02.05 |
---|---|
안드로이드 RelativeLayout 컨테이너 (Android Container 2: RelativeLayout) (0) | 2016.02.05 |
dialog(대화상자) 예제 (0) | 2016.02.05 |
안드로이드(android) 탭(TabActivity) 3가지 구현하기 (1) | 2016.02.05 |
[안드로이드] 개발 | 강좌 | 정보 | (XML 파서(Parser) & DOM & SAX & JSON & PullParser) (0) | 2016.02.05 |