문서 / 설정 / Android / Longdo
Longdo 설정
Longdo Map API3 SDK를 MapConductor에서 쓰는 절차입니다. 태국의 지도에 강한 프로바이더로, Longdo 자신의 Maven 저장소에서 취득합니다.
MODULE
com.mapconductor:for-longdo
API KEY
필요
VIEW
LongdoMapView
TIME
15분
시작하기 전에
Android 개발 환경(Android Studio)
Longdo Map 콘솔에서 발행한 API 키
STEP 01
API 키를 취득한다
Longdo Map 콘솔에서 키를 발행합니다. SDK는 검증을 위해 앱의 패키지 이름을 보내므로, 키를 그 패키지 이름에 연결해 등록해 둘 필요가 있습니다.
STEP 02
Longdo의 저장소를 더한다
settings.gradle.ktsKotlin
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
// Longdo Map API3 SDK repository
maven {
url = uri("https://maven.longdo.com/artifactory/libs-release-public")
}
}
}STEP 03
의존 관계를 추가한다
app/build.gradle.ktsKotlin
dependencies {
// Longdo Map API3 SDK
implementation("com.longdo.map:sdk3:1.3.0")
// MapConductor BOM pins every module below
implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))
implementation("com.mapconductor:core")
implementation("com.mapconductor:for-longdo")
}STEP 04
API 키를 넘긴다
모듈은 매니페스트의 longdo.map.key를 읽습니다. 코드에서 설정할 수도 있습니다.
AndroidManifest.xmlXML
<manifest>
<uses-permission android:name="android.permission.INTERNET" />
<application>
<meta-data
android:name="longdo.map.key"
android:value="${LONGDO_API_KEY}" />
</application>
</manifest>MainActivity.ktKotlin
// Alternative: set it in code before the first map is shown com.longdo.sdk3.LongdoMap.API_KEY = "YOUR_LONGDO_API_KEY"
주의
secrets.properties는 버전 관리에 커밋하지 마세요. .gitignore에 추가해 두면 사고를 막을 수 있습니다. CI에서는 환경 변수 등 다른 안전한 경로로 넘깁니다.
동작 확인
여기까지 보이면 완료
방콕을 중심으로 지도가 나오면 완료입니다.
TestLongdo.ktJetpack Compose
@Composable
fun TestLongdo(modifier: Modifier = Modifier) {
val mapState = rememberLongdoMapViewState(
mapDesign = LongdoDesign.Normal,
cameraPosition = MapCameraPosition(
position = GeoPoint(13.7563, 100.5018),
zoom = 12.0,
),
)
LongdoMapView(
state = mapState,
modifier = modifier,
onMapLoaded = { /* map ready */ },
onMapClick = { point -> /* tapped at point */ },
)
}지도 디자인
LongdoDesign은 Longdo의 베이스 레이어에 대응합니다.
LongdoDesign
Notes
Normal / Easy / Political
표준 계열의 스타일
Pastel / PastelGray / Light / Gray
옅은 스타일
Night / Dark / Hard
암색・고대비
Satellite / Hybrid
위성 화상과 하이브리드
Osm
OpenStreetMap 기반
잘 안 될 때
지도가 나오지 않는다
- 콘솔에서 키가 앱의 패키지 이름에 연결되어 있는지 확인합니다. SDK는 패키지 이름을 보내 검증합니다.
- INTERNET 퍼미션이 붙어 있는지 확인합니다.
빌드가 통과하지 않는다
- 지도 SDK의 좌표와 버전이 버전 카탈로그의 지정과 일치하는지 확인합니다.
- 저장소 정의가 settings.gradle.kts에 있는지 확인합니다(repositoriesMode가 FAIL_ON_PROJECT_REPOS이면, 모듈 쪽의 repositories는 무시됩니다).
- 여러 지도 SDK를 동시에 넣고 있는 경우는, 의존의 충돌이 없는지 ./gradlew :app:dependencies로 확인합니다.
다음
마커・폴리라인・폴리곤・원・그라운드 이미지・래스터 레이어・InfoBubble은 모두 공통 API로 쓸 수 있습니다. Longdo의 Android SDK는 Longdo Map JS API3를 WebView에서 돌리는 구성이기 때문에, 도형은 내부의 MapLibre GL에 GeoJSON 소스와 fill / line 레이어로 추가됩니다. 히트 테스트는 코어 쪽의 측지선 대응 판정이 담당합니다.