문서 / 설정 / iOS / Open Mobile Maps

Open Mobile Maps 설정

Open Mobile Maps(maps-core)를 MapConductor에서 쓰는 절차입니다. Swift Package Manager로 넣고, API 키는 필요 없습니다.

MODULE
MapConductorForOpenMobileMaps
API KEY
불필요
VIEW
OpenMobileMapsMapView
TIME
10분
같은 프로바이더, 다른 플랫폼Android

시작하기 전에

Xcode 15 이상
iOS 16.0 이상을 대상으로 하는 앱
STEP 01

패키지를 추가한다

maps-core와 MapConductor의 모듈을 Swift Package Manager로 추가합니다.

Package.swiftSwift
dependencies: [
    .package(url: "https://github.com/openmobilemaps/maps-core", from: "4.0.0"),
    .package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.3.1"),
    .package(url: "https://github.com/MapConductor/ios-for-openmobilemaps", from: "1.0.0"),
]
STEP 02

타일의 배포처를 정한다

키가 없는 만큼, 타일을 어디서 가져올지는 스스로 정하게 됩니다. OpenStreetMap의 공식 타일 서버는 이용 정책상 앱에서의 상시 이용에 맞지 않습니다. 본번에서는 자체 배포나 상용의 배포처를 써 주세요.

동작 확인

여기까지 보이면 완료

도쿄를 중심으로 지도를 냅니다. 타일이 읽히면 완료입니다.

import SwiftUI
import MapConductorCore
import MapConductorForOpenMobileMaps

struct TestOpenMobileMaps: View {
    @StateObject private var state = OpenMobileMapsViewState(
        cameraPosition: MapCameraPosition(
            position: GeoPoint(latitude: 35.6812, longitude: 139.7671),
            zoom: 11
        )
    )

    var body: some View {
        OpenMobileMapsMapView(state: state)
    }
}

지도 디자인

Notes
OpenStreetMap
OpenStreetMap의 표준 스타일
OpenStreetMapJapan
일본용의 표기에 맞춘 것
OpenTopoMap
지형도

잘 안 될 때

지도가 새하얗고, 타일이 한 장도 오지 않는다

  • 이 프로바이더에 API 키는 없습니다. 우선 지정하고 있는 스타일 URL에 도달할 수 있는지 확인합니다.
  • 단말이 네트워크에 나갈 수 있는지 확인합니다.

타일 배포처에서 429나 403이 반환된다

  • OpenStreetMap의 공식 타일 서버에는 이용 정책이 있고, 앱에서의 상시 이용은 상정되어 있지 않습니다. 본번에서는 자체 타일 배포나, 상용의 배포처를 써 주세요.

다음

마커・폴리라인・폴리곤・원・그라운드 이미지・래스터 레이어・InfoBubble은 공통 API인 채로 쓸 수 있습니다.