Controlling with URL Parameters
Many aspects of TerriaJS (and hence TerriaMap, NationalMap, and others) can be configured by the end user by passing URL parameters. Combine them like this:
- The base URL, then a
#
- Then the first parameter
- Then repeatedly: a
&
, and the next parameter
For example: http://nationalmap.gov.au#test&map=2d
Display parameters
Parameter | Meaning |
---|---|
clean |
Don't load the default catalog files for this site. |
map=2d |
Use the 2D (Leaflet) map, instead of the default. |
map=3d |
Use the 3D (Cesium) map, instead of the default. |
map=3dSmooth |
Use the 3D (Cesium) map without terrain, instead of the default. |
playStory=1 |
Automatically start playing the map's Story, if there is one. |
hideWorkbench=1 |
Collapse the workbench (left side) panel, useful for embedding. Also automatically plays a story, if there is one. |
mode=preview |
Operate in "preview mode", which mostly means not showing a warning if the screen is small |
share= ... |
Load a map view previously saved using the "Share" function with URL shortening. |
start= ... |
Load a map view previously saved without URL shortening. The argument is a URL-encoded JSON structure defined using an internal format described below. |
<initfile> |
Load catalog file as described below. |
Catalog files (init files)
Any unrecognised parameter (eg foo
) is treated as the name of a catalog file, loaded from the directory wwwroot/init/foo.json
). Multiple catalog files can be loaded this way, and will be combined. Later files can override earlier ones.
Example: http://nationalmap.gov.au#test
Start data
The start=
parameter essentially embeds an entire catalog file in the URL. The format is:
{
"version": "0.0.05",
"initSources": [
"init/nm.json",
"init/test.json",
...
{
"catalog": [
...
]
},
{
"initialCamera": {
"west": <lon>,
"south": <lat>,
"east": <lon>,
"north": <lat>,
"position": {
"x": ...,
"y": ...,
"z": ...
},
"direction": {
"x": ...,
"y": ...,
"z": ...
},
"up": {
"x": ...,
"y": ...,
"z": ...
}
},
"homeCamera": {
"west": ...,
"south": ...,
"east": ...,
"north": -...
},
"baseMapName": "Positron (Light)",
"viewerMode": "3d"
}
]
}
}
The exact structure changes as features are added. The best way to understand it is:
- Adjust the view as desired
- Generate a share link
- URL-decode the share link (using a tool such as this).