This is a previous attempt. TucikMap is a prototype Swift + Metal vector-tile map engine - the direct ancestor of ImmersiveMap, where development now continues. It grew out of the earlier C++/OpenGL ES Android versions of the engine.
Lineage: TusaAndroid2 → tusa-android → TucikMap (this repo) → ImmersiveMap.
A prototype vector-tile map engine built with Swift and Metal. This project renders interactive maps using vector tiles (currently sourced from Mapbox) in a custom Metal-based renderer. It's still in early development, but it supports basic globe views, zooming, and labeling.
- Vector tile rendering with Metal for high-performance graphics.
- Interactive map controls (zoom, pan, pitch).
- Support for Mapbox tile sources (requires your own access token).
- SwiftUI integration for easy embedding in iOS/macOS apps.
- Debug options like grid overlay (disabled by default).
| Global continent view with labels. | Zoomed into Lower Manhattan, New York. | Northeastern US and Canada region. |
- Clone the repo:
git clone https://github.com/artemcolt/TucikMap.git - Open in Xcode.
- Replace the Mapbox token in
ContentView.swiftwith your own (get one at mapbox.com). - Build and run on iOS simulator or device.
The core view is TucikMapView, configurable via MapSettings. See ContentView.swift for an example.
This is a prototype—pull requests welcome for bug fixes, features, or optimizations! Focus areas: improved tile caching, more map styles, or better performance.
MIT License. See LICENSE for details.
