Docs / Setup / iOS / Open Mobile Maps
Open Mobile Maps setup
How to drive Open Mobile Maps (maps-core) through MapConductor. It installs through Swift Package Manager, and there is no API key.
MODULE
MapConductorForOpenMobileMaps
API KEY
Not required
VIEW
OpenMobileMapsMapView
TIME
10 min
Same provider, other platformsAndroid
Before you start
Xcode 15 or newer
An app targeting iOS 16.0 or newer
STEP 01
Add the packages
Add maps-core and the MapConductor module through 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
Decide where tiles come from
With no key, where the tiles come from is your decision. OpenStreetMap’s own tile servers are not suitable for production apps under their usage policy: serve your own, or use a commercial source.
VERIFY
What you should see
Show a map centred on Tokyo. Tiles loading means you are done.
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)
}
}Map designs
Notes
OpenStreetMap
The standard OpenStreetMap style
OpenStreetMapJapan
Tuned for Japanese labelling
OpenTopoMap
Topographic
Troubleshooting
The map is blank and no tiles arrive
- This provider has no API key. Check that the style URL you pointed it at is reachable.
- Confirm the device can reach the network.
The tile source returns 429 or 403
- OpenStreetMap's own tile servers have a usage policy that does not cover production apps. Serve your own tiles, or use a commercial source.
Next
Markers, polylines, polygons, circles, ground images, raster layers and info bubbles all work through the shared API.