일단 기념으로 남겨두고 이제 시작해야겠다..ㅠㅠ
1. https://code.google.com/apis/console/ 에 접속해서
새로운 프로젝트를 만든 뒤 원하는 서비스에 google maps android api v2 를 On 시켜주고
api 키를 받는다.
- google maps android api v2 를 On 시켜주면 왼쪽의 메뉴 에서 API 어쩌고 하는 것을 클릭
- Simple API Access - key for browser 의 API키를 복사해두면 됨
2. 이클립스의 sdk 메니저에서 extras - google play services을 설치한다.
3. sdk가 있는 폴더명/extras/google/google_play_services/libproject/google-play-services_lib
을 import 해준다!
- 또는 New - other - Android project from existing code 에서 경로설정후 확인
4. 자신이 생성한 프로젝트의 우측 버튼을 클릭해 properties 로 들어간다.
- V1 버전에서와 반대로 타겟이 전혀 중요하지 않다! ㅋㅋㅋ
-에뮬레이터는 꺼두자. 필요없다! 무조건 자신의 폰 혹은 더미기계로 ㄱㄱ
프로퍼티에 라이브러리 추가를 해주자
-google-play-services_lib가 떠있을 것이다 그것만 추가해주고 위에 타겟은 맘대로 ㄱㄱ
5. 메니피스트 - 메인.xml - 프로젝트.java 파일 순으로 변경
5-1 manifest
전체를 복사해 넣을테니 비교하면서 붙여넣자 -_- 그냥 막 가따 쓰지 말자
굵은 부분이 내가 추가한 거 같다...ㅡ,.ㅡ;
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.app.findparking"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<permission
android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="여기에 자신이 받은 api 키를 집어 쑤셔 넣는다" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<activity
android:name="프로젝트 패키지.MainActivity" <-- 기본 생성되니 손대지 말자
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>
</manifest>
5-2 main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<fragment
android:id="@+id/showmethemap"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
뭐 v1 에서는 MapView 였고 V2에서는 fragment 라는데 그딴거 모르겠다 그냥 좁때 신난다.
5-3 MainActivity.java
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
import android.view.Menu;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;
public class MainActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Check status of Google Play Services
int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
// Check Google Play Service Available
try {
if (status != ConnectionResult.SUCCESS) {
}
} catch (Exception e) {
Log.e("Error: GooglePlayServiceUtil: ", "" + e);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
역시나 Stackoverflow 진짜 ㄷㄷㄷ하다..
일단 이렇게 하면 폰에 맵이 뜨는 신기한 현상을 경험한다.
나는 V1으로 하루 반나절 V2로 하루 반나절 총 3일간의 삽질을 했다.
그 이유는 폰이던 에뮬레이터던 맵이 안뜬다
그냥 격자무늬만 신나게 나오고.... 진짜 폭발할뻔 했는데 간신히 참았더니
3일째에 드디어 빛을 봤다.
근데 이게 시작인데...
간단해 보이는 것도 실제로 만드려니까 이렇게 힘들구나 하는 걸 느꼇다.
좁때 쉽게 만들고 싶다 ㅡ,.ㅜ
이제 또 맵 위에서 노는걸 연습해야겠다............. ㅎ ㅔㅎ ㅔ
댓글 없음:
댓글 쓰기