Course maps
Course maps show the race route on a map within the app. Officials can see the course layout, their own position, and the positions of other tracked officials.
KML file structure
Course maps are uploaded as KML files. The KML must contain three named layers — one for each discipline:
- swim — the swim course route.
- bike — the bike course route.
- run — the run course route.
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.
If the KML doesn't have named Folder or Document containers, the system falls back to checking individual Placemark names.
Example using 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 using Document containers
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>
A layer can contain multiple Placemarks — for example, a bike course with a separate approach segment and a lap segment.
Download an example KML file to use as a starting point.
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.
Uploading a course map
- Open the race configuration.
- Navigate to the course map section.
- Upload the KML file.
- The system validates the file, checks for the three required layers, and processes it.
Processing goes through several stages: validated → uploading → styling → complete. Once complete, the course map is available to all officials in the race.
Customisation
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.
What officials see
On the map view, officials see:
- The course route overlay with colour-coded disciplines.
- Their own position (if location tracking is enabled for their role).
- Other tracked officials' positions.
- Penalty and incident locations (as markers on the map).
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.