새로운 지도 스타일이 곧 Google Maps Platform에 제공될 예정입니다. 이 지도 스타일 지정 업데이트에는 새로운 기본 색상 팔레트와 지도 환경 및 사용성 개선사항이 포함됩니다. 모든 지도 스타일이 2025년 3월에 자동으로 업데이트됩니다. 사용 가능 여부 및 더 일찍 선택하는 방법에 대한 자세한 내용은 Google Maps Platform용 새로운 지도 스타일을 참고하세요.
지도에 추가할 고급 기능을 찾고 계신가요?
Android용 Maps SDK 유틸리티 라이브러리는 다양한 애플리케이션에
유용하게 사용할 수 있는 클래스의 오픈소스 라이브러리입니다. GitHub 저장소에는
유틸리티 클래스와 (각 클래스의 사용법을 보여주는)
데모 앱이 있습니다.
이 동영상에서 크리스 브로드풋은 다중선 디코딩, 구면 도형,
도움말 풍선 아이콘을 중심으로 유틸리티 라이브러리를 설명합니다.
지형지물을 GeoJSON 형식으로
저장하고 이 유틸리티를 사용하여 지도 위에 레이어를 렌더링할 수 있습니다.
addLayer()를 호출하여 GeoJSON 데이터를 지도에 추가합니다.
addFeature()를 호출하고 GeoJsonFeature 객체에 전달하여
개별 지형지물을 추가할 수도 있습니다.
이 유틸리티를 사용하면
KML
객체를 지리적 도형으로 변환하고 지도 위의
레이어로 렌더링할 수 있습니다. addLayerToMap()을 호출하여
레이어를 지도에 추가합니다. Placemark, GroundOverlay, Document 또는 Folder에서
getProperties()를 호출하여 KML 객체의 속성에
액세스할 수 있습니다.
히트맵을 사용하면 사용자가 지도에서 데이터 지점의
분포와 상대적 강도를 쉽게 이해할 수 있습니다. 히트맵은 각 위치에 마커를
배치하는 대신 색상과 도형을 사용하여
데이터의 분포를 나타냅니다. HeatmapTileProvider를 만들어 지도의
관심 장소를 나타내는 LatLng 객체 컬렉션에
전달합니다. 그런 다음 새
TileOverlay를
만들어 히트맵 타일 제공자에게 전달하고 타일 오버레이를 지도에 추가합니다.
IconGenerator를 추가하여 마커에
정보 스니펫을 표시합니다. 이 유틸리티는 마커 아이콘을 정보 창처럼 보이게 하여
여기에 텍스트와 다른 콘텐츠를 담는 방법을
제공합니다. 정보 창은 한 번에 하나만 열 수 있지만 이 유틸리티는
둘 이상의 마커를 동시에 열 수 있다는 장점이 있습니다.
또한 마커의 스타일을 지정하고 마커 및 콘텐츠의 방향을 변경하며
마커의 배경 이미지 및 나인 패치를 변경할 수도 있습니다.
마커 클러스터 관리
ClusterManager를 사용하면 다양한 확대/축소 수준에서
여러 마커를 관리할 수 있습니다. 즉, 지도의 가독성을 해치지 않으면서도
지도에 많은 마커를 넣을 수 있습니다. 사용자가 높은 확대/축소 수준에서
지도를 보면 개별 마커가 지도에 나타납니다. 사용자가
낮은 확대/축소 수준으로 축소하면 마커가 클러스터로 모여서
지도 보기가 쉬워집니다.
GeoJSON, KML, 클러스터의 지형지물은 물론 자체 마커,
다중선, 다각형을 모두 동일한 지도에 표시할 수 있습니다. 각 레이어에
클릭 리스너를 추가하여 이러한 레이어를 대화형으로 만들 수도 있습니다.
MarkerManager, GroundOverlayManager,
PolygonManager, PolylineManager 클래스를
각각 인스턴스화한 후 클래스 설정 시
GeoJsonLayer, KmlLayer, ClusterManager의 생성자에 전달하면 됩니다. 그런 다음 위의 Manager 클래스를
직접 사용하여 자체 마커, 다중선, 다각형을 지도에
추가할 수 있습니다.
PolyUtil은 인코딩된 다중선 및 다각형을
위도/경도 좌표로 변환하거나 그 반대로 변환할 때 유용합니다.
Google 지도에서 다중선이나 다각형을 정의하는
경도 및 위도 좌표는 인코딩된 문자열로 저장됩니다. 다중선 인코딩에
대한
자세한 설명을
참고하세요. 경로 API와 같은 Google API의 응답에서
이 인코딩된 문자열을 수신할 수 있습니다.
Android용 Maps SDK 유틸리티 라이브러리에서
PolyUtil을 사용하여 위도/경도 좌표('LatLngs') 시퀀스를
인코딩된 경로 문자열로 인코딩하고, 인코딩된 경로
문자열을 LatLngs의 시퀀스로 디코딩합니다. 이는 Google 지도 API 웹 서비스와의
상호운용성을 보장합니다.
구면기하학을 통해 거리, 면적 및 방향 계산
SphericalUtil의 구면기하학 유틸리티를 사용하여
위도와 경도를 기반으로 거리, 면적, 방향을
계산할 수 있습니다. 다음은 유틸리티에서 사용할 수 있는 몇 가지 메서드입니다.
computeDistanceBetween() – 두 개의 위도/경도
좌표 사이의 거리(단위: 미터)를 반환합니다.
computeHeading() – 두 개의 위도/경도
좌표 사이의 방위(단위: 도)를 반환합니다.
computeArea() – 지구 상의 닫힌 경로의 면적(단위: 제곱미터)을 반환합니다.
interpolate() – 지정된 두 지점 사이의
거리에서 지정된 부분에 있는 지점의 위도/경도
좌표를 반환합니다. 예를 들어 이 메서드를 사용하여
두 지점 사이의 마커를 애니메이션 처리할 수 있습니다.
StreetViewUtil 클래스는 위치가 스트리트 뷰에서 지원되는지 여부를 확인하는 기능을
제공합니다. 스트리트 뷰 파노라마를 Android 앱에 추가할 때
이 메타데이터 유틸리티를 호출하고 응답이 OK인 경우에만 스트리트 뷰
파노라마를 추가하여 오류를 방지할 수 있습니다.