[안드로이드] 다음 지도 api 사용하기 (Kakao Map Api)
안드로이드에서 다음 카카오 지도 api를 사용해서 맵을 띄우는 예제입니다.
1. 카카오 개발자 플랫폼에 들어가서 로그인합니다.
링크 : https://developers.kakao.com
2. 내 애플리케이션 > '앱 만들기' 선택
3. 프로젝트 이름과 앱을 추가한 후 '앱 만들기' 선택
(아이콘은 안넣으면 기본 이미지로 들어갑니다)
4. 애플리케이션이 생성되면서 키 4가지를 줍니다.
5. 내 애플리케이션 > 설정 > 일반 > '플랫폼 추가' > Android 선택 후 '추가'
6. 패키지명을 입력합니다.
(패키지명만 입력하면 마켓URL은 자동으로 입력됩니다.
만약 자동으로 입력이 안된다면 입력하시구요!)
7. 키 해시 값을 입력합니다!
키 해시값 알아내는 방법이 여러가지 있는데, 저는 프로젝트에서 찾는 방법을 사용했어요.
아래 코드 사용하시면 해시값이 나옵니다.
public static String getKeyHash(final Context context) {
PackageInfo packageInfo = getPackageInfo(context, PackageManager.GET_SIGNATURES);
if (packageInfo == null)
return null;
for (Signature signature : packageInfo.signatures) {
try {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
return android.util.Base64.encodeToString(md.digest(), android.util.Base64.NO_WRAP);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
return null;
}
8. 여기까지 완료되었으면,
http://apis.map.daum.net/android/guide/
링크로 이동하여 다음 API 최신 버전 SDK를 다운받습니다.
그리고 링크 들어가면 라이브러리 사용법이 나와있는데,
라이브러리 추가하는 위치 등 잘못된 부분과 빠진 부분이 있습니다.
(이 글 그대로 따라하면 문제 없습니다.)
9. SDK 압축을 풀면 이렇게 나옵니다.
10. 안드로이드스튜디오에서 프로젝트를 엽니다! (Project Files 형식)
app > libs 폴더에 .jar 파일을 복사합니다.
app > src > main에 jniLibs 폴더를 만든 후 armeabi 폴더 두가지를 그대로 복사합니다.
그럼 최종적으로 아래 이미지처럼 되어있을겁니다.
11. 매니페스트 파일에 아래 코드 추가
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<meta-data
android:name="com.kakao.sdk.AppKey"
android:value="네이티브 앱 키 입력"/>
12. build.gradle 에 아래 코드 추가
compile files('libs/libDaumMapAndroid.jar')
(추가한 화면↓)
13. .xml 파일에 코드 추가
<RelativeLayout
android:id="@+id/map_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
14. .java 파일에 코드 추가
MapView mapView = new MapView(this);
mapView.setDaumMapApiKey("네이티브 앱 키 입력");
RelativeLayout container = (RelativeLayout) findViewById(R.id.map_view);
container.addView(mapView);
(※참고 : MapView 가 2가지인데, 아래의 MapView를 import 해야합니다.)
import net.daum.mf.map.api.MapView;
15. 완료 (앱 실행된 화면)
끝입니다!
추가로 마커, Polyline, Circle 등을 그릴 수도 있습니다.
자세한 사항은 링크에서 확인하세요~
http://apis.map.daum.net/android/guide/
생각보다 간단하죠?ㅎ.ㅎ
'IT > 안드로이드+JAVA' 카테고리의 다른 글
[안드로이드] FCM(Firebase Cloud Messaging) 사용하기 예제 (0) | 2018.01.15 |
---|---|
[안드로이드] 네트워크 연결 확인 (0) | 2018.01.12 |
[JAVA] 전위 연산자, 후위 연산자, ++, -- (0) | 2017.06.14 |
[안드로이드] jCenter에 안드로이드 라이브러리 배포하기 (0) | 2017.03.17 |
[JAVA] synchronized (0) | 2017.03.07 |