2017. 10. 16. 01:22ㆍApplication Programming/Android
Google Place API를 사용하려면 일단 API 키가 필요한데, Google Maps API 키를 발급 받았다면 같은 키로 Place API도 사용할 수 있다.
https://console.developers.google.com/ 에 접속하면 발급 받은 API키를 관리할 수 있는데.
좌측 상단에 GoogleAPIs 라는 로고 옆에 내가 지금까지 API를 사용하기 위해 발급받은 프로젝트 목록 중 하나를 선택할 수 있다. (필요하다면 새로 발급받는 것도 가능하다.)
여기서 원하는 프로젝트를 고르면 좌측 대시보드, 라이브러리, 사용자 인증정보의 세 가지 탭 중 대시보드항목에 해당 프로젝트에서 사용된 트래픽, 오류 등에 대한 정보가 나올 것이다.
프로젝트 정보의 아래쪽에 프로젝트에서 사용하는 API 목록이 있고, 나는 Maps API와 Place API 두 가지를 사용하기 때문에 목록에 두 가지 항목 뿐이다.
사용하는 API를 추가하고자 한다면 프로젝트 정보 위쪽에 API 및 서비스 사용 설정을 눌러 원하는 API를 추가하도록 한다.
Place API를 추가했다면 이제 사용자 인증정보에서 원하는 api키를 선택하고 SHA-1과 패키지 명을 추가하면 된다.
여기까지는 다른 블로그에 자세한 설명이 많다 ㅜㅜ 내가 헤맨부분은 실제 구현이었는데
우선 두 api를 하나의 인증 키로 불러오기 위해서는 manifest.xml에서 api key부분을 다음과 같이 수정해야한다.
원래 Map API만 사용할 때도 추가해야했던 부분이지만 android:name 값을 아래와 같이 바꾸어야 Place API까지 불러올 수 있다.
1 2 3 | <meta-data android:name="com.google.android.geo.API_KEY" android:value="여기다 키 넣으세요" /> | cs |
그 다음, 자동검색창을 넣고싶은 액티비티의 xml에
1 2 3 4 5 6 | <fragment android:id="@+id/place_autocomplete_fragment1" android:layout_width="match_parent" android:layout_height="wrap_content" android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment" /> | cs |
이렇게 프래그먼트 하나를 추가해주고, 해당 액티비티의 Oncreate 함수 안에 아래처럼 리스너를 연결하면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment) getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment1); autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() { @Override public void onPlaceSelected(Place place) { // TODO: Get info about the selected place. System.out.println( "Place: " + place.getName()); } @Override public void onError(Status status) { // TODO: Handle the error. System.out.println( "An error occurred: " + status); } }); | cs |
'Application Programming > Android' 카테고리의 다른 글
구글맵 API V2 사용 시 com.google.android.gms.maps 포함 안되는 이유 (0) | 2017.09.20 |
---|---|
Webview (0) | 2017.08.21 |