문서 / 설정 / Android / MapTiler
MapTiler 설정
MapTiler의 공식 Android SDK(com.maptiler:maptiler-sdk-kotlin)를 MapConductor에서 쓰는 절차입니다. MapTiler Cloud의 참조 스타일을 이름으로 고를 수 있습니다.
MODULE
com.mapconductor:for-maptiler
API KEY
필요
VIEW
MapTilerMapView
TIME
10분
시작하기 전에
Android 개발 환경(Android Studio)
MapTiler Cloud의 계정과 API 키
STEP 01
API 키를 취득한다
MapTiler Cloud의 대시보드에서 API 키를 발행합니다. 무료 구간이 있습니다.
STEP 02
의존 관계를 추가한다
MapTiler SDK는 Maven Central에서 취득할 수 있습니다.
app/build.gradle.ktsKotlin
dependencies {
// MapTiler Android SDK
implementation("com.maptiler:maptiler-sdk-kotlin:2.1.0")
// MapConductor BOM pins every module below
implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))
implementation("com.mapconductor:core")
implementation("com.mapconductor:for-maptiler")
}STEP 03
API 키를 넘긴다
모듈은 매니페스트의 meta-data에서 키를 읽습니다. Secrets Gradle Plugin을 쓰는 경우는 플레이스홀더 경유로 합니다. 코드에서 직접 설정할 수도 있습니다.
AndroidManifest.xmlXML
<manifest>
<uses-permission android:name="android.permission.INTERNET" />
<application>
<meta-data
android:name="MAPTILER_API_KEY"
android:value="${MAPTILER_API_KEY}" />
</application>
</manifest>MainActivity.ktKotlin
// Alternative: set it in code before the first map is shown com.maptiler.maptilersdk.MTConfig.apiKey = "YOUR_MAPTILER_API_KEY"
주의
secrets.properties는 버전 관리에 커밋하지 마세요. .gitignore에 추가해 두면 사고를 막을 수 있습니다. CI에서는 환경 변수 등 다른 안전한 경로로 넘깁니다.
동작 확인
여기까지 보이면 완료
스타일을 골라 지도를 냅니다. 타일이 읽히면 완료입니다.
TestMapTiler.ktJetpack Compose
@Composable
fun TestMapTiler(modifier: Modifier = Modifier) {
val mapState = rememberMapTilerMapViewState(
mapDesign = MapTilerDesign.Streets,
cameraPosition = MapCameraPosition(
position = GeoPoint(35.6812, 139.7671),
zoom = 11.0,
),
)
// If the map appears, the setup is correct.
MapTilerMapView(state = mapState, modifier = modifier)
}지도 디자인
MapTilerDesign은 MapTiler Cloud의 참조 스타일을 그대로 나열한 것입니다.
MapTilerDesign
Notes
Streets / StreetsDark / StreetsLight
표준의 도로 지도와 명암의 배리에이션
Basic / Bright
정보량을 줄인 스타일
Satellite
위성 화상
Outdoor / Winter / Topo
아웃도어・동계・지형
Toner / Dataviz / Backdrop
데이터를 얹는 바탕용
Ocean / Landscape / Aquarelle / OpenStreetMap
그 밖의 테마별 스타일
잘 안 될 때
지도가 새하얀 채로
- 매니페스트의 MAPTILER_API_KEY에 실제 값이 들어 있는지 확인합니다.
- MapTiler Cloud 쪽에서 키가 유효한지, 무료 구간을 넘지 않았는지 확인합니다.
- INTERNET 퍼미션이 붙어 있는지 확인합니다.
빌드가 통과하지 않는다
- 지도 SDK의 좌표와 버전이 버전 카탈로그의 지정과 일치하는지 확인합니다.
- 저장소 정의가 settings.gradle.kts에 있는지 확인합니다(repositoriesMode가 FAIL_ON_PROJECT_REPOS이면, 모듈 쪽의 repositories는 무시됩니다).
- 여러 지도 SDK를 동시에 넣고 있는 경우는, 의존의 충돌이 없는지 ./gradlew :app:dependencies로 확인합니다.
다음
마커・폴리라인・폴리곤・원・그라운드 이미지・래스터 레이어・InfoBubble은 모두 공통 API로 쓸 수 있습니다. MapTiler의 Android SDK는 MapLibre GL JS를 WebView에서 돌리는 구성이기 때문에, 도형은 GeoJSON 소스와 fill / line 레이어로서 스타일에 추가됩니다. 측지선의 보간이나 구멍의 처리는 코어의 공통 구현을 쓰므로, 다른 프로바이더와 같은 형태가 됩니다.