Course maps
Course maps show the race route on the map within the app. Officials can see the course layout, their own position, and the positions of other tracked officials.
Upload a course map
- Get a KML file of the course. The easiest starting points: download the example file and edit it, or draw the routes in Google Earth and export them as KML.
- Make sure the file has three named layers — swim, bike, and run — with the route for each discipline inside.
- Open the race configuration and go to the Course map tab.
- Upload the file. The system checks it, processes it, and once it's complete the course map is available to all officials in the race.
Warning
All three layers (swim, bike, run) are required. If any are missing, the upload will fail with an error indicating which layers are absent.
You can upload a course map whether or not tracking is enabled for the race. The map overlay works on its own; tracking simply adds live athlete and official positions on top of it.
What officials see
On the map view, officials see:
- The course route overlay, colour-coded by discipline — swim purple, bike yellow, run red.
- Their own position (if location tracking is enabled for their role).
- Other tracked officials' positions.
- Penalty and incident locations (as markers on the map).
Full details
Everything below is optional reading — open a section if your file needs adjusting or the upload doesn't work.
Layer names and file rules
Each layer can be either a Folder or a Document element with a name matching the discipline. The names are case-insensitive and also accept common aliases:
| Discipline | Accepted names |
|---|---|
| Swim | swim, swimming |
| Bike | bike, cycling, cycle, ride |
| Run | run, running |
Each layer should contain one or more Placemarks with LineString geometry defining the route. A layer can contain multiple Placemarks — for example, a bike course with a separate approach segment and a lap segment.
If the KML doesn't have named Folder or Document containers, the system falls back to checking individual Placemark names.
Processing goes through several stages: validated → uploading → styling → complete.
Each discipline is rendered in a different colour on the map (swim purple, bike yellow, run red); line widths and colours can be customised during upload.
Example KML — Folder containers
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Folder>
<name>swim</name>
<Placemark>
<name>Lap 1</name>
<LineString>
<coordinates>12.843744,50.235681,0 12.846632,50.235487,0 ...</coordinates>
</LineString>
</Placemark>
</Folder>
<Folder>
<name>bike</name>
<Placemark>
<name>Bike Lap 1</name>
<LineString>
<coordinates>12.874051,50.230864,0 12.874410,50.230683,0 ...</coordinates>
</LineString>
</Placemark>
</Folder>
<Folder>
<name>run</name>
<Placemark>
<name>Run Lap 1</name>
<LineString>
<coordinates>12.881821,50.221378,0 12.882693,50.221971,0 ...</coordinates>
</LineString>
</Placemark>
</Folder>
</Document>
</kml>
Example KML — Document containers (Google Earth exports)
The same structure works with Document elements instead of
Folder. This is common when exporting from Google Earth:
<kml xmlns="http://www.opengis.net/kml/2.2">
<Folder>
<name>Event Name</name>
<Document>
<name>Swim</name>
<Placemark>
<name>Lap 1</name>
<LineString>
<coordinates>...</coordinates>
</LineString>
</Placemark>
</Document>
<Document>
<name>Bike</name>
<Placemark>
<name>Approach</name>
<LineString>
<coordinates>...</coordinates>
</LineString>
</Placemark>
<Placemark>
<name>Lap 1</name>
<LineString>
<coordinates>...</coordinates>
</LineString>
</Placemark>
</Document>
<Document>
<name>Run</name>
<Placemark>
<name>Run Lap 1</name>
<LineString>
<coordinates>...</coordinates>
</LineString>
</Placemark>
</Document>
</Folder>
</kml>
Troubleshooting
If the course map doesn't appear:
- Check that the KML file was processed successfully (look for the "complete" status on the race).
- Ensure all three layers (swim, bike, run) are present and correctly named in a Folder or Document container.
- Verify that the race has a valid location set.
- Check that the official's device has an internet connection for map tile loading.