Tool tree
Visualising how apartheid-era spatial planning still shapes commute times and access to jobs across Gauteng.
Implementation
gradeNot graded
gradeNot graded
page: Every page
list-map-layersAnswer
List this map's layers, each with its id, label, and whether it's currently visible.
View tool JSON
{
"name": "list-map-layers",
"kind": "answer",
"impl": "imperative",
"description": "List this map's layers, each with its id, label, and whether it's currently visible.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/?basemap=topo"
}toggle-map-layerAction
Show or hide a map layer by id. Call list-map-layers first to find valid ids.
View tool JSON
{
"name": "toggle-map-layer",
"kind": "act",
"impl": "imperative",
"description": "Show or hide a map layer by id. Call list-map-layers first to find valid ids.",
"inputSchema": {
"type": "object",
"properties": {
"layerId": {
"type": "string",
"description": "The layer's id, as returned by list-map-layers."
}
},
"required": [
"layerId"
],
"additionalProperties": false
},
"page": "/?basemap=topo"
}search-map-locationAnswer
Search for a place by name and fly the map to the best match, e.g. a town, suburb or station.
View tool JSON
{
"name": "search-map-location",
"kind": "answer",
"impl": "imperative",
"description": "Search for a place by name and fly the map to the best match, e.g. a town, suburb or station.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free-text place name to search for."
}
},
"required": [
"query"
],
"additionalProperties": false
},
"page": "/?basemap=topo"
}set-map-basemapAction
Switch the map's basemap style.
View tool JSON
{
"name": "set-map-basemap",
"kind": "act",
"impl": "imperative",
"description": "Switch the map's basemap style.",
"inputSchema": {
"type": "object",
"properties": {
"basemap": {
"type": "string",
"enum": [
"positron",
"liberty",
"dark",
"satellite",
"topo"
],
"description": "One of the registered basemap ids."
}
},
"required": [
"basemap"
],
"additionalProperties": false
},
"page": "/?basemap=topo"
}set-app-themeAction
Switch the app's colour theme. "system" follows the OS preference.
View tool JSON
{
"name": "set-app-theme",
"kind": "act",
"impl": "imperative",
"description": "Switch the app's colour theme. \"system\" follows the OS preference.",
"inputSchema": {
"type": "object",
"properties": {
"theme": {
"type": "string",
"enum": [
"system",
"light",
"dark"
]
}
},
"required": [
"theme"
],
"additionalProperties": false
},
"page": "/?basemap=topo"
}read-map-storyAnswer
Read this map's background story explaining why it exists, and open the Story panel.
View tool JSON
{
"name": "read-map-story",
"kind": "answer",
"impl": "imperative",
"description": "Read this map's background story explaining why it exists, and open the Story panel.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/?basemap=topo"
}measure-distanceAction
Measure the straight-line distance across two or more named locations, and show it on the map's measuring tool.
View tool JSON
{
"name": "measure-distance",
"kind": "act",
"impl": "imperative",
"description": "Measure the straight-line distance across two or more named locations, and show it on the map's measuring tool.",
"inputSchema": {
"type": "object",
"properties": {
"locations": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"description": "Place names to measure between, in order, e.g. [\"Sandton\", \"Soweto\"]."
}
},
"required": [
"locations"
],
"additionalProperties": false
},
"page": "/?basemap=topo"
}measure-areaAction
Measure the area enclosed by three or more named locations, and show it on the map's measuring tool.
View tool JSON
{
"name": "measure-area",
"kind": "act",
"impl": "imperative",
"description": "Measure the area enclosed by three or more named locations, and show it on the map's measuring tool.",
"inputSchema": {
"type": "object",
"properties": {
"locations": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 3,
"description": "Place names forming the area's outline, in order, e.g. [\"Sandton\", \"Soweto\", \"Midrand\"]."
}
},
"required": [
"locations"
],
"additionalProperties": false
},
"page": "/?basemap=topo"
}