문서 / 설정 / Android / Open Mobile Maps
Open Mobile Maps 설정
Open Mobile Maps(io.openmobilemaps:mapscore)를 MapConductor에서 쓰는 절차입니다. API 키는 필요 없습니다.
MODULE
com.mapconductor:for-openmobilemaps
API KEY
불필요
VIEW
OpenMobileMapsMapView
TIME
10분
같은 프로바이더, 다른 플랫폼iOS
시작하기 전에
Android 개발 환경(Android Studio)
minSdk 28 이상
STEP 01
의존 관계를 추가한다
Open Mobile Maps는 Maven Central에 있습니다. 취득처를 더할 필요는 없습니다.
app/build.gradle.ktsKotlin
dependencies {
// Open Mobile Maps
implementation("io.openmobilemaps:mapscore:4.0.0")
// MapConductor BOM pins every module below
implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))
implementation("com.mapconductor:core")
implementation("com.mapconductor:compose")
implementation("com.mapconductor:for-openmobilemaps")
}STEP 02
퍼미션을 더한다
타일의 취득에 네트워크가 필요합니다. 위치 정보를 쓰지 않는다면 INTERNET만으로 충분합니다.
AndroidManifest.xmlXML
<uses-permission android:name="android.permission.INTERNET" />
STEP 03
타일의 배포처를 정한다
키가 없는 만큼, 타일을 어디서 가져올지는 스스로 정하게 됩니다. OpenStreetMap의 공식 타일 서버는 이용 정책상 앱에서의 상시 이용에 맞지 않습니다. 본번에서는 자체 배포나 상용의 배포처를 써 주세요.
동작 확인
여기까지 보이면 완료
도쿄를 중심으로 지도를 냅니다. 타일이 읽히면 완료입니다.
@Composable
fun TestOpenMobileMaps(modifier: Modifier = Modifier) {
val mapState = rememberOpenMobileMapsMapViewState(
mapDesign = OpenMobileMapsDesign.OpenStreetMap,
cameraPosition = MapCameraPosition(
position = GeoPoint(latitude = 35.6812, longitude = 139.7671),
zoom = 11.0,
),
)
OpenMobileMapsMapView(state = mapState, modifier = modifier.fillMaxSize())
}지도 디자인
Notes
OpenStreetMap
OpenStreetMap의 표준 스타일
OpenStreetMapJapan
일본용의 표기에 맞춘 것
OpenTopoMap
지형도
잘 안 될 때
지도가 새하얗고, 타일이 한 장도 오지 않는다
- 이 프로바이더에 API 키는 없습니다. 우선 지정하고 있는 스타일 URL에 도달할 수 있는지 확인합니다.
- 단말이 네트워크에 나갈 수 있는지 확인합니다.
타일 배포처에서 429나 403이 반환된다
- OpenStreetMap의 공식 타일 서버에는 이용 정책이 있고, 앱에서의 상시 이용은 상정되어 있지 않습니다. 본번에서는 자체 타일 배포나, 상용의 배포처를 써 주세요.
다음
마커・폴리라인・폴리곤・원・그라운드 이미지・래스터 레이어・InfoBubble은 공통 API인 채로 쓸 수 있습니다. 프로바이더를 교체해도 앱 쪽의 코드는 달라지지 않습니다.