Map
Map
Map tiers, layers, markers and what the map shows at each zoom.
What the map draws at each zoom, and how vehicles and stops sit on the lines. Markers follow Map markers; everything here is placed on the drawn geometry whenever it exists.
Zoom levels
Zoom is the 256 pt Web Mercator zoom (MapKit camera on iOS, Leaflet on the web). The web app’s Map tab (API docs at chitransit.app/docs) does not yet follow the iOS tiers; rows marked Not yet aligned differ.
| Element | iOS | Web app | Status |
|---|---|---|---|
| Train lines | All zooms | All zooms (min zoom 10) | Aligned |
| Stations hidden | Never | Below z12 | Not yet aligned |
| Small station marker | Below z15: 10 solid circle, 1.5 Paper keyline; line colour or Card 2 | z12–14: lane ticks (the dot stage is skipped) | Not yet aligned |
| Station capsule | From z15, 26 high | From z14, 40 high | Not yet aligned |
| Bus stops hidden | Below z14 | Below z15.1 | Not yet aligned |
| Small bus stop | z14–16: 7 Brand square, radius 1.5, no glyph | None | Not yet aligned |
| Bus stop icon | From z16: 20 Brand square, bus glyph | From z15.1: grows 15 → 25 over one zoom | Not yet aligned |
| Train vehicles | Only while a stop is open, at any zoom | Always, z12–14 only | Not yet aligned |
| Bus vehicles | Only while a stop is open | Only while a bus stop or route is open | Aligned |
| Vehicle size | 25 | 25 | Aligned |
| Area | Rule |
|---|---|
| Stops shown | At most the nearest 50 stops per mode around the settled camera. Camera-dependent stops and lines may follow the viewport and update only after a pan or zoom settles; they never feed Nearby cards or arrivals |
| Camera | After initialization, only rider map gestures, the locate-me control, pulling Nearby up from low, and the stop moves below may move it. Opening a stop centres it in the map area above the half sheet, zooming in to 1,400 m when further out (smooth, 0.45 s). Tapping the open stop’s title pans back to it, and tapping an arrival pans to its vehicle; both keep zoom. Switching a bus stop group’s direction pans only when the new stop is off screen. Sheet movement alone never moves the camera |
| Selected station | Selection highlights its marker and opens stop detail at half. Panning with the station selected never collapses the sheet. Train lines stay drawn |
| Stations | Below zoom 15: a 10 circle with a 1.5pt Paper keyline, line colour at a one-line station and grey (Card 2) at a multi-line station. From zoom 15: the station icon (Map markers). Both are centred on the lanes the station serves rather than the platform average |
| Train vehicles | Vehicle marker, only while a stop is open: every train on that stop’s routes, at any zoom |
| Bus vehicles | Vehicle marker (rounded square, separate heading arrow, number tag, no ETA), only while a stop is open: every bus on that stop’s routes |
| Snapping | Trains sit on their own lane and point along the track in the direction that agrees with their heading; buses sit on their route and take the pattern’s direction of travel. Without line geometry a vehicle is drawn at its reported point |
| Bus stops | Hidden below zoom 14. Zoom 14–16: 7 Brand squares, radius 1.5. From 16: 20 Brand squares, radius 5, 2pt Paper keyline, bus glyph. The open stop’s keyline turns Ink, with a 1 Paper hairline inside it |
| Z-order | Bottom to top: train lanes (dimmed first), the selected bus route, bus stops, stations, vehicles, user location |
| Lines and routes | Train lines are 4pt lanes with 1.5pt gaps, no casing, in CTA order (Red, Blue, Brown, Green, Orange, Purple, Pink, Yellow); lane 0 sits on the right of the stretch’s first line’s direction, so the Loop runs Brown, Green, Orange, Purple, Pink outer to inner. Corners come from a 40 m smoothed base line; lanes re-centre over 80 m where lines join or leave. Details: Line rendering |
The profile menu’s Developer mode toggle adds a map tuner for zoom stages and marker sizes; it is developer-only, and its defaults are the values specified here.
Vehicle marker
Trains and buses share one construction: an upright 25 body with a separate rounded heading arrow. Trains are a line-colour disc; buses a Brand rounded square with the route number tag.
| Size | 25 for trains and buses |
|---|---|
| Train | 25 disc in the line colour, train glyph at 60% (white; Ink on Yellow), 2pt Paper keyline (white in light, #0F141C in dark) outside the disc |
| Train arrow | Rounded triangle 13 wide × 10 deep in the body colour with a 2pt white keyline, centred 20.5 from the marker centre and rotated about it to the bearing. The body and glyph never rotate. No arrow without a bearing |
| Bus | Brand rounded square 25, corner radius 7 (continuous), 2pt Paper keyline (white in light, #0F141C in dark), bus glyph 13.5 in Accent Ink, upright; the same separate heading arrow as trains |
| Route number | Bus only: Paper label 17 high, min 22 wide, radius 6, 11 / 800 Brand with a 1.5pt Brand ring, 23 above the body; below it when the bus heads up the screen (bearing 315–45°). Muted when stale. No ETA on the map; times live in the stop sheet |
| Stale | Solid Muted body and arrow with a white glyph; never translucent |
| Elevation | No drop shadow or glow, like every map marker |
| Hit area | None: vehicle markers ignore taps. Selection comes from tapping an arrival row |
| Label | "Red Line train to Howard" · "Route 151 bus to Union Station" |