글
Google Maps utility library란?
https://developers.google.com/maps/documentation/android-api/utility/?hl=ko
안드로이드에서 Google Maps을 사용하여 개발하다 보면 두 좌표 간 거리, GeoJSON, KML 등 부족한 부분이 존재한다.
구글에서 이 부분을 메워줄 수 있는 공식 유틸리티 라이브러리를 제공한다.
유틸리티
지도에 GeoJSON 가져오기
지형지물을 GeoJSON 형식으로 저장하고 이 유틸리티를 사용하여 지도 위의 계층으로 렌더링할 수 있습니다. addLayer()
를 호출하여 지도에 GeoJSON 데이터를 추가합니다. addFeature()
를 호출하고 GeoJsonFeature
객체에 전달하여 개별 지형지물을 추가할 수도 있습니다.
자세한 내용은 Google Maps Android GeoJSON 유틸리티에 관한 문서를 참조하세요.
지형지물을 GeoJSON 형식으로 저장하고 이 유틸리티를 사용하여 지도 위의 계층으로 렌더링할 수 있습니다. 자세한 내용은 Google Maps Android GeoJSON 유틸리티에 관한 문서를 참조하세요. |
지도에 KML 가져오기
이 유틸리티를 사용하면 KML 객체를 지리적 셰이프로 변환하고 지도 위의 계층으로 렌더링할 수 있습니다. addLayerToMap()
을 호출하여 지도에 계층을 추가합니다. Placemark, GroundOverlay, Document 또는 Folder에서 getProperties()
를 호출하여 KML 객체의 속성에 액세스할 수 있습니다.
자세한 내용은 Google Maps Android KML 유틸리티에 관한 문서를 참조하세요.
이 유틸리티를 사용하면 KML 객체를 지리적 셰이프로 변환하고 지도 위의 계층으로 렌더링할 수 있습니다. 자세한 내용은 Google Maps Android KML 유틸리티에 관한 문서를 참조하세요. |
지도에 열지도 추가
열지도를 사용하면 뷰어가 지도에서 데이터 지점의 분포와 상대적 강도를 쉽게 이해할 수 있습니다. 열지도는 각 위치에 마커를 배치하는 대신 색상과 셰이프를 사용하여 데이터의 분포를 나타냅니다. HeatmapTileProvider
를 생성하고 지도의 관심 지점을 나타내는 LatLng
객체 컬렉션에 전달합니다. 그런 다음 새 TileOverlay
를 생성하여 열지도 타일 제공자에 전달하고, 지도에 타일 오버레이를 추가합니다.
자세한 내용은 Google Maps Android 열지도 유틸리티에 관한 문서를 참조하세요.
열지도를 사용하면 뷰어가 지도에서 데이터 지점의 분포와 상대적 강도를 쉽게 이해할 수 있습니다. 열지도는 각 위치에 마커를 배치하는 대신 색상과 셰이프를 사용하여 데이터의 분포를 나타냅니다. 자세한 내용은 Google Maps Android 열지도 유틸리티에 관한 문서를 참조하세요. |
버블 아이콘을 통해 마커 사용자 지정
IconGenerator
를 추가하여 마커에 정보 조각을 표시합니다. 이 유틸리티는 마커 아이콘을 정보 창처럼 보이게 해서, 여기에 텍스트와 다른 콘텐츠를 담는 방법을 제공합니다. 정보 창은 한 번에 하나만 열 수 있지만 이 유틸리티는 하나 이상의 마커를 동시에 열 수 있다는 장점이 있습니다. 또한, 마커의 스타일을 지정하고, 마커 및/또는 콘텐츠의 방향을 변경하고, 마커의 배경 이미지/나인 패치를 변경할 수 있습니다.
|
마커 클러스터 관리
ClusterManager
를 사용하면 다양한 확대/축소 수준에서 여러 개의 마커를 관리할 수 있습니다. 즉, 지도의 가독성을 해치지 않으면서도 지도에 많은 마커를 넣을 수 있습니다. 사용자가 높은 확대/축소 수준에서 지도를 보면, 개별 마커가 지도에 나타납니다. 사용자가 낮은 확대/축소 수준으로 축소하면, 마커가 클러스터로 모여서 지도를 보기 쉽게 해줍니다.
자세한 내용은 Google Maps Android 마커 클러스터링 유틸리티를 참조하세요.
자세한 내용은 Google Maps Android 마커 클러스터링 유틸리티를 참조하세요. |
폴리라인 인코딩 및 디코딩
PolyUtil
은 인코딩된 폴리라인과 폴리곤을 경도/위도 좌표로 변환하거나 그 반대로 변환할 때 유용합니다.
Google 지도에서 폴리라인이나 폴리곤을 정의하는 경도와 위도 좌표는 인코딩된 문자열로 저장됩니다. 폴리라인 인코딩에 대한 자세한 설명을 참조하세요. Google Maps Directions API와 같은 Google API의 응답에서 이 인코딩된 문자열을 수신할 수 있습니다.
Google Maps Android API 유틸리티 라이브러리에서 PolyUtil
을 사용하여 일련의 경도/위도 좌표('LatLngs')를 인코딩된 경로 문자열로 인코딩하고, 인코딩된 경로 문자열을 일련의 LatLngs로 디코딩/인코딩할 수 있습니다. 이는 Google Maps API 웹 서비스와의 상호운용성을 보장합니다.
Google 지도에서 폴리라인이나 폴리곤을 정의하는 경도와 위도 좌표는 인코딩된 문자열로 저장됩니다. 폴리라인 인코딩에 대한 자세한 설명을 참조하세요. Google Maps Directions API와 같은 Google API의 응답에서 이 인코딩된 문자열을 수신할 수 있습니다. Google Maps Android API 유틸리티 라이브러리에서 |
구면 기하학을 통해 거리, 영역 및 방향 계산
SphericalUtil
의 구면 기하학 유틸리티를 사용하여 경도와 위도를 기반으로 거리, 영역, 방향을 계산할 수 있습니다. 다음은 유틸리티에서 사용할 수 있는 몇 가지 메서드입니다.
computeDistanceBetween()
– 두 개의 위도/경도 좌표 사이의 거리를 미터 단위로 반환합니다.computeHeading()
– 두 개의 위도/경도 좌표 사이의 베어링을 도 단위로 반환합니다.computeArea()
– 지구 위의 닫힌 경로의 영역을 제곱미터 단위로 반환합니다.interpolate()
– 주어진 두 지점 사이의 거리에서 지정된 부분에 있는 지점의 경도/위도 좌표를 반환합니다. 예를 들어, 이 메서드를 사용하여 두 지점 사이의 마커를 애니메이트할 수 있습니다.
유틸리티에 포함된 메서드의 전체 목록은 참조 문서를 참조하세요.
유틸리티에 포함된 메서드의 전체 목록은 참조 문서를 참조하세요. |
'Android > Tips' 카테고리의 다른 글
외부에서 url 클릭 시 자신의 앱으로 연결 (0) | 2018.02.13 |
---|---|
Google Maps Utility Library의 KML style 관련 팁들 (0) | 2018.01.22 |
Google Map에 사용자지정 액티비티 전환 적용 방법 (0) | 2018.01.08 |
런타임에 권한 요청 (0) | 2017.12.21 |
Navigation Drawer 분석 (1) | 2013.11.13 |
RECENT COMMENT