University Map Wiki

Introduction and examples

From University Map Wiki

Jump to: navigation, search


Basic use

See the Map's user help page for further details.

  • The map 'frontpage':
  • You can search for most things and once you've found something you'll also get addresses and other contact details.
  • Clicking shows a popup menu that, among other things, lets you see what's nearby and can mark locations on the map.
  • The map automatically adapts for display on small-screen devices
  • Most views have individual URLs that can be copied and used elsewhere (on web pages, in emails, etc.)

API for linking to maps

The map exposes a URL for linking to particular views based on searches - see The Map URL API for details. For example:

There's an extended search syntax, for example:

You can also produce links based on underlying geographic OSM identifiers, which are based on University Planon IDs where possible and which identify sites, buildings and entrances:

There's an interactive browser (also linked from the 'More...' menu) that you can use to explore the map's geographic database and to to help find these various identifiers.

It's also possible to construct links based on institution identifiers, which in turn are based on the 'institution Identifiers' used in Lookup:

If all else fails you can link to a physical areas:

Map URLs can also have a fragment part consisting of a hash followed by further information. The fragment part comprises either one to five numbers, or another URL. The numbers control where the map is displayed initially - for example here's a map showing the Hopkinson Lecture Theatre but scaled and centred to also show the station:

If the fragment is a URL it references an annotation overlay - see below. Further details of all this are available in The Map URL API.

Embedding Maps

All map URL's can be used as the source for an iframe to simply embed the corresponding map in a seperate page - see The Embedding API for details.

For example this:

<!DOCTYPE html>

<title>Iframe test</title>
<style type="text/css">
#map {
  width: 400px;
  height: 400px;
  border: 1px solid black;


<iframe id="map" src="">



Produces a page like this.


Manual annotation

The map includes a tool to create and edit map overlays - see Map Annotation for details.

The tool can be found at (also available from the 'Annotate the map' entry in the 'More...' menu). Points, lines, and areas can be drawn, modified, edited, styled. etc. Once complete, the annotation can be stored in the map system where each set of annotations gets its own permanent URL - e.g.:

Alternatively it can be downloaded and served from any web server and then referenced after the hash part of a map URL, e.g.:

Annotation based on other data

Annotations can also be created programmaticly form other geographic data, either statically or on the fly, and then overlaid on the map. See UCamGeoJSON for details.

For example, a static UCamGeoJSON file used to display the locations and identifier of all the Cambridge Colleges:

Or a script that dynamically extracts staircase information direct from the OpenStreetMap database and displays it:

Tile API

The tiles making up the map are freely available - see The Tile API.

Here are some of the tiles that make up the city centre.

They follow the conventions of OpenStreetMap and other similar systems and so can be consumed in various ways. Here are some examples using third-party map APIs:

In addition, these tiles can be used with stand-alone programs that expect the OpenStreetMap conventions - for example they have been used with both OpenMaps and GlobalScout under iOS.

Index API

There's an API for accessing the data in the map's index - see The Database API. It uses similar queries to those used to draw and embed maps and returns results in JSON format. To ease experimentation you can add '&debug=1' to all index API queries to have results displayed in a browser rather than exported as JSON files. Here are some examples based on the map URLs above:

The interactive browser (also linked from the 'More...' menu) can be useful for identifying the various codes in use.