Skabelon:OSM Location map

Fra Wikipedia, den frie encyklopædi
Documentation icon Skabelondokumentation[vis] [redigér] [historik] [opfrisk]
Old John Tower, Bradgate Park, Leicestershire, UK

This template provides a map in a frame, for any location and scale. At its simplest it can simply show the Open Street Map image and a scale indicator for a given area of land. Optionally a range of marker, label and annotation tools are available to include location markers, labels, numbered dots, a heading, caption, mini-locator map and overlays. The map also provides a link to a full-screen interactive 'maplink' version.

Purpose[rediger kildetekst]

OSM Location map allows an editor to include a map in a frame for anywhere in the world, at any scale from the whole world down two one or two streets. It makes use of the Open Street Map mapping data, and enables a place-based page or topic to simply show the area being described, without the need for pre-determined map templates. The underlying map will be updated and improved automatically as the OSM data develops.

The template can also show multiple marks, images and labels (currently limited to ten). The template makes use of {{Graph:Street map with marks}}, which allows unlimited numbers of marks and labels, utilises a different coding mark-up, and is particularly suited to using data directly from a Wikidata source.

The resulting framed map also has a link to a full-screen version, which opens at the same location, above the current page. This has a richer map interface, can be re-scaled and panned by the user, has optional thumbnail images and captions for the marker points, and can also access a wide range of maps, satellite images etc. (The fullscreen option uses the <maplink> mapping provision.)

A rough guide to the scale of the map is provided in the bottom left corner. This is only a guide, as the projection means the scale changes depending on the latitude. Some allowance has been made for this, but only in large 20 degree chunks.

Usage[rediger kildetekst]

Minimal version
an unadorned map centred on a latitude and longitiude coordinates, via a {{coord}} value. [Nb: For some reason {{coord}} is not working on this wiki for this purpose, so use separate lat= and lon= decimal values instead]. Set the zoom to give a scale that fits the subject (0=whole world, 18=a street). With just these options set, all other parameters use the defaults, or are left unused. It gives a link to the full screen version.
{{OSM Location map  <!--These parameters are the only essential items-->
| lat=56.2123
| lon=10.4521 <!--latitude and longitude -  as a +/- decimal. -->
| zoom = 12   <!--(1=whole world, 18=a street)-->

Single marker
Using mostly default settings, with a Red pog marker and label, and some additional info for use on the full screen version.
{{OSM Location map
| lat =  | lon =     <!-- latitude and longitude -->
| zoom =             <!-- (1=whole world, 18=a street)--> 
| width =            <!-- width and height of the frame. numeric input - do not add px -->
| height = 
| caption =          <!-- Text below the map. Can include [[wikilinks]] -->
| mark-coord =       <!-- use {{coord|  |  }} to set lat and lon location for the marker -->
|      label =       <!-- text alongside the mark -->
|  label-pos =       <!--default position is to the left. (or right, top, bottom)-->
| mark-title =       <!-- | -->
| mark-image =       <!-- | these are only used within the full screen linked page -->
| mark-description = <!-- | -->
<mapframe> problems:
  • Attribute "latitude" has an invalid value
  • Attribute "longitude" has an invalid value
<maplink> problems:
  • Attribute "latitude" has an invalid value
  • Attribute "longitude" has an invalid value
Scheduled monuments around Llanfechell, Anglesey
<mapframe> problems:
  • Attribute "latitude" has an invalid value
  • Attribute "longitude" has an invalid value
<maplink> problems:
  • Attribute "latitude" has an invalid value
  • Attribute "longitude" has an invalid value
Pentre Ifan and other nearby Neolithic sites

Multiple markers, labels and/or images[rediger kildetekst]

In addition to the un-numbered mark parameters there are 20 numbered ones. These are otherwise identical to the one above, but each mark and label has its own set of parameters (mark1, mark-coord1, label1, label-pos1 etc...mark2, mark-coord2, label2, label-pos2 etc.) Mark1 acts as a 'master marker' for many parameters. Values given to the mark1 set are inherited by the other numbered sets, which avoids some repetition.

Minimap[rediger kildetekst]

There is a built-in map of the world option, which will act as a mini locator map and automatically adds a red locator dot. Unfortunately it is too general for most purposes, so making use of an existing 'Location map' file is possible. This is not very automated. The width and height of the map both have to be specified (and it is up to you to not distort the map dimensions). An optional locator dot can be placed by specifying the minipog-x and -y values, using the same scale values as mini-width and -height. With an origin in the top left of the minimap, the minipog can be placed over the relevant point on the minimap.

| minimap = file <!--this minimap is used in the example to the right-->
| mini-file = Wales relief location map.jpg
| mini-width = 70
| mini-height = 90
| minipog-x = 25
| minipog-y = 4
| scalemark = 66 <!-- shifts the scalemark further to the left -->

If the area of the actual map is a large portion of the mini-map, an open red box can be included instead of a dot, to show the bounds of the main map. To use this feature, simply specify the width of the required box: minimap-boxwidth=xx where xx = the pixel width of the box. In general anything much below xx=15 will be better served by a dot. The required width will require some trial and error to pin down. The box height is then matched in proportion to the actual map.

Alternative marks[rediger kildetekst]

Instead of using the standard 'Red pog' for mark points on the map, other images can be used. Any image from Wikimedia Commons can be specified. The example on the right uses 'Archaeological site icon (red).svg'. If a particular file is specified in mark1=, all subsequent marks will use it unless they name their own image file. If the image is not square, a dimension value also needs to be set (width ratio for a height of 1)

Leicester Castle and the line of the medieval town walls

Text effects[rediger kildetekst]

Where label text is too long to fit on a single line, two further label line can be used: labela = and labelb = .

It is possible to specify a label-angle = , which will pivot the label text around the centre of the marker point by the specified angle. If mark-size is set to zero, this has the effect of a free-floating label with no marker, useful for various geographic and linear features. (This is illustrated by the 'Preseli Hills' text on the Pentre Ifan map). For stylistic consistency all settlement and building names should not be given an angle.

Transparent overlay[rediger kildetekst]

The specified image file can be any size. Using an .svg image with a transparent background, and annotations that match the scale and location of the base map, it is possible to provide a customised overlay image to show particular features that are not included on the base map. The line of the town walls on the map of Leicester are arrived at by that means.

Numbered dots[rediger kildetekst]

<mapframe> problems:
  • Attribute "latitude" has an invalid value
  • Attribute "longitude" has an invalid value
<maplink> problems:
  • Attribute "latitude" has an invalid value
  • Attribute "longitude" has an invalid value
Listed buildings in Stoneygate

If numbered dots are needed, instead of (or as well as) text labels, this can be achieved using the built in shapes. For example, shape1=n-circle will place a numbered dot at that coord position (or l-circle for letters). Generally it is much better to use the dots in sequence, so each numbered mark gives a numbered dot, and they will match the full screen ones. If auto-caption=1 then the caption will generate a numbered list using the mark-title entries. For example:-

{{OSM Location map
| coord={{coord|52.620|-1.112}}
| float=left| zoom =15
| width = 200  | height = 300
| mark-coord1 = {{coord|52.6180|-1.11189}}
| mark-title1 = St John The Baptist Church
| shape1=n-circle
| shape-color1=blue
| shape-outline1=white
| mark-size1=16
| mark-coord2 = {{coord|52.61819|-1.11035}}
| mark-title2 = Congregational Church
| mark-coord3 = {{coord|52.62324|-1.11179}}
| mark-title3 = Eastfield, Stanley Road
| mark-coord4 = {{coord|52.62123|-1.111297}}
| mark-title4 = Stoneygate School
| mark-coord5 = {{coord|52.62009|-1.11241}}
| mark-title5 = The Firs
| mark-coord6 = {{coord|52.61936|-1.11510}}
| mark-title6 = White House
| caption = Listed buildings in Stoneygate
| auto-caption=1

The other built-in shapes can be used in the same way (n-square, n-diamond etc.). The shape-outline1= value sets the colour for the number (unlike normal, when it sets the shape-outline), and as with the others, only the mark1 values need to be set for many values, to establish the default for this map, which can be overridden as required. The numbered1..2..3 etc parameters can override the automatic numbers or letters to use your own values for each mark. {{Flushing Meadows-Corona Park map}} is a useful real life example in template form.

Full list of parameters[rediger kildetekst]

London's Heathrow Airport
<mapframe> problems:
  • Attribute "latitude" has an invalid value
  • Attribute "longitude" has an invalid value
<maplink> problems:
  • Attribute "latitude" has an invalid value
  • Attribute "longitude" has an invalid value

With five terminals, Heathrow Airport, is the busiest airport in Europe.
Blank template Example
{{OSM Location map
| coord = {{coord|  |  }}
| zoom=
| float = 
| width = 
| height = 
| fullscreen-option =
| caption = 
| title =

| minimap = 
| mini-file =
| mini-width =
| mini-height =
| minipog-x =
| minipog-y =
| minipog-boxwidth =
| scalemark =

|          shape = 
|    shape-color = 
|  shape-outline = 
|           mark = 
|      mark-size = 
|       mark-dim = 
|     mark-coord = {{coord|  |  }}
|          label = 
|         labela = 
|         labelb =
|     label-size = 
|    label-color = 
|    label-angle =
|      label-pos = 
| label-offset-x = 
| label-offset-y =  
|     mark-title = 
|     mark-image = 
| mark-description=

<!-- second and subsequent markers-->
| mark-coord1={{coord|  |  }}
| label1=

{{OSM Location map
| coord={{coord|51.46534|-0.44542}}
| zoom=12
| float = right
| width = 300
| height = 400
| fullscreen-option=
| caption = [[Fil:Heathrow Airport 014.jpg|360px]]<br>With five terminals, [[Heathrow Airport]], is the busiest airport in Europe.
| title=London's Heathrow Airport
| minimap = file
| mini-file = Greater London UK location map 2.svg
| mini-width = 150
| mini-height = 120
| minipog-x = 19
| minipog-y = 63
| minimap-boxwidth = 20
| scalemark = 160 
| shape = image <!-- start of first label. More marks and labels are added with mark1, label1 etc. The first numbered set acts as a 'master marker', and its parameter values are inherited as defaults by any other numbered markers.-->
|   shape-color=
| shape-outline=
|          mark = Airplane silhouette.svg
|     mark-size = 20
|    mark-coord = {{coord|51.471948|-0.487883}}
|         label = Heathrow Terminal 5
|        labela = 
|        labelb =
|    label-size = 13
|   label-color = #191970
|   label-angle =
|     label-pos = top
|label-offset-x = 19
|label-offset-y = 
|    mark-title = Heathrow Airport Terminal 1
|    mark-image = Heathrow Terminal 1 - - 581459.jpg
| mark-description=Terminal 1 at [[Heathrow Airport]], the busiest airport in Europe.
<!-- Subsequent markers add a number 1 to 20 to the marker parameters, mark-coords are required for each marker. Most other values are inherited from the first of the numbered markers, mark1= etc, which acts as the 'master marker'-->

Parameters[rediger kildetekst]

Map display parameters
Parameter Description

(at present use:
and decimal +/-)
Latitude and longitude coordinates of the centre point of the map. Use coord={{Coord| latitude | longitude}}. {{Coord}} can deal with a wide range of formats. e.g.: coord={{Coord|57|18|22|N|4|27|32|W}}, coord={{Coord|44.112|N|87.913|W}}, coord={{Coord|44.112|-87.913}}. This may not be the 'coord' points of the page, as an appropriate framing area for the map may place the subject off-centre. (Marker point(s) are set separately, see below)., is a helpful place to find coordinates, or you can right=click on the 'Full screen linked' map.
zoom Sets the scale of the map, from 0 to 19, to the levels defined by the Open Street Map foundation. (details here). The actual distances represented will vary depending on the latitude, as the scale defines different fractions of a degree. The apparent scale will also vary hugely depending on the monitor being used, the browser magnification level, etc. For most Wikipedia situations, maps with a zoom of 10 (notionally 1:500,000) up to 16 (1:8,000) are likely to be of most use.
float Positions the frame to the left, centre (or center) or right. (default is right). If centered, the text will be forced above and below, otherwise text will wrap to the side.
width height Sets the width and height of the map in pixels. Only the number is required (i.e. no px). Default is 350 by 250 pixels.
fullscreen-option By default a [Full screen] link is supplied in the bottom left of the frame. By setting this to 0 or no, the link will not appear, should that be preferred
nolabels By default the base map uses a map label model called 'osm-int'l', in which progressively higher zoom levels bring more place names onto the map. For some contexts it may be preferred to 'turn off' the place name labels, and use the mark/label options to provide such names as are wanted. By setting nolabels = 1 an alternative 'osm' base map is used, with no place name labels. (At higher zooms the road names still occur).
Optionally, a text caption can be included, below the map. Unless overridden by tags etc., this is left-justified plain text. It can include any wiki-item that can be inserted into a table cell, including images, formatting, citation references, etc.
If auto-caption=1, a numbered list will be automatically generated to follow any caption. This will generally only make sense when using numbered dots.
title Optionally a title or other text can be placed in a cell above the map. By default this is centred and bold, but as with the caption, any wiki-markup etc. can be included.


Allows OSM ExternalData elements to be added to the map. This can be an administrative boundary, highway or other map element that has been assigned a wikidata Q value. (e.g.: map-data=Q83065 will add the city boundary of Leicester.) The map item needs to be on the same place as the map itself. It currently only allows line features (not areas etc.), which appear as various styles of line. Multiple elements can be added, separating each Q value by a comma. A major limitation, as of May 2017, is that it only appears on the 'fullscreen' map, not on the framed map on the page. Adding map-data items now should mean they appear on the page if and when this limitation is overcome. has a search engine to identify data elements for which Q values have been assigned, or to add wikidata Q values to map elements.

For map-data-heavy and map-data-light, this will draw orange lines of thickness 9 and 3 pixels respectively. map-data is more flexible, so can default to an orange line of 6 pixels, but color (using format #XXXXXX) and width in pixels can be set, as can a text element which appears when the line is clicked on. This can include wikilinks.

minimap Used to add an optional locator minimap in the bottom left corner. If set to on it adds a 'built in' small(ish) world map with a locator dot showing the position of the main map. (This is a feature supplied by the underlying 'Graph:' template, so the only control over it is to be set as on or off.) If set too off it is not used. If set to file it requires the next section details to be added, which will include a custom map. Default is no.


Takes the file name of a standard location map from commons, and displays it as a minimap in the bottom left corner, provided minimap=file. This can be used to show a larger entity from which the main map is drawn.


Within the custom minimap this can place an optional small Red pog. Nb. The x and y are not lat and lon values. They relate to the mini-width and mini-height. The origin is top,left of the mini map, so if mini-width=80 and minipog-x=20, it will be a quarter of the way across. (Some location maps have a highlighted location already, so leaving these two parameters undefined gives the map without a dot.)

minimap-boxwidth=xx can optionally use an open red box instead of a Red pog. xx = the pixel width of the box, and the height is then matched in proportion to the actual map. In general anything much below xx=15 will be better served by a dot. The required width will require some trial and error to pin down. If xx=0 or minimap-boxwidth is undefined, a Red pog is used.

scalemark By default or with scalemark=1, a scale line with guide to the scale of the map is supplied in the bottom right corner of the map. If this is not required - e.g. if it interfers with a map element at that point - it can be turned off by setting this to '0'. To shift it further left, e.g. to avoid a minimap, or to avoid a 'busy' bit of the map, enter the number of pixels. e.g. scalemark=180 will move it to the left of the built-in minimap. If there is no minimap it does not need to be mentioned.
Label and mark parameters.

Twenty-one marks can be set on the map, being an un-numbered version, and the rest numbered 1 to 20. The first numbered one, (mark1, label1, etc.) is a 'master marker' and its values (or defaults) are inherited by the other numbered markers unless set individually. All label, mark and full-screen parameters are available for each numbered marker.

If the un-numbered mark is used as the subject of the map, it will be point 1 on the Full Screen map (unless mark-title=none) and can use specific mark and label values of its own. The first numbered mark sets some general defaults, which can apply to subsequent marks.

Parameter Description
shape OSM Location map can use either an external image as a location marker, or one of various built-in shapes. Shape should either be set as =image or can be a circle, square, cross, diamond, triangle-up or triangle-down. If blank or absent it will default to 'image', and use either a Red pog.svg or specified mark = image. If numbered dots are required, use shape1=n-circle Subsequent markers will use the same setting, and automatically number up to 20. shape1=l-circle will do the same but with letters, and any of the built in shapes can be used.
Set the shape infill and outline to any color, using HTML colour names and hex triplets (e.g. #FF0000), as described at Web colors. Only used for built in shapes. Setting them to the same value gives an appearance of no outline. Default = #B80000 (a dark red). The numbered = parameter is used with numbered shapes, to override the automatically allocated number.
mark The name of a Wikimedia commons file, which is used as the marker. Default is Red pog.svg. Other pog colours are available, and a large range of map markers can be found at Commons:Location markers and Commons:Category:Map icons
Size and dimensions of a marker. mark-size is used by both shape and mark to define the size of the marker symbol. It sets the height of the mark or shape in pixels (no 'px' required, default is 10). If only a text label is wanted with no marker, set mark-size=0.
mark-dim is used to give a non-square mark. (It has no effect with the built in shapes.) default is 1, i.e. equal width and height. A value of 1.4 will give a typical landscape rectangle. 0.7 will give a typical portrait rectangle. If the original mark-file is non square, a value here is needed to correct the proportions.

(at present use:
and decimal +/-)
Latitude and longitude coordinates of the marker point. Use the format mark-coord={{Coord|lat value|lon value}}. Used by either shape and mark as well as the related label. If the location is outside the area of the map, it will not appear. (for backwards compatibility mark-lat and mark-lon still work, but are not the preferred method.)
Text to appear alongside a mark or shape. No inline formatting, line wrapping, or other tags, links etc. are possible. If left blank then any mark will show without a label. If only a text label is wanted with no marker, set mark-size=0 A blank label and a mark-size=0 will result in an invisible marker, which will still feature on the Full screen option. If the label is too long for a single line, use labela and labelb for 2nd and 3rd lines. nb if labelb is set without a labela, there will still be a gap where labela would go.
label-size Sets the text size for the label, in points. default = 10
label-color Sets the text colour for the label. The standard colour labels (red, black, grey, white, blue, green etc...)all work well. Default=dark red. HTML colour names or hex triplet (e.g. #FF0000), as described at Web colors should work.
label-pos Sets the position of the label, relative to the marker: left, right, top or bottom. Default=left. Top and bottom text is center-justified, whereas left and right align against the marker. The label aims to be an appropriate distance from the edge of the marker, but irregular shapes and larger sizes may need further adjustment using the label-offsets.
label-angle It is possible to specify a label-angle = , which will pivot the label text around the centre of the marker point by the specified number of degrees. (+ve angle rotates clockwise, -ve anticlockwise) If mark-size is set to zero, this has the effect of a free-floating label with no marker, useful for various geographic and linear features. For stylistic consistency all settlement names should not be given an angle.
Allows adjustment of the label location in an x and y direction, relative to its mark coordinates, by the specified number of pixels. It can be +ve or -ve numbers. Higher -x values will move the label to the right. Higher -y values move it down the map. Default is 0,0.
Additional content for Full screen link

The 'full screen' map uses the same OSM base map, in a different map environment, including the option for users to scale in and out, to pan across the map, and to find (via the 'More details' button) other maps and satellite imagery for the location. It also includes numbered markers, for which tooltip-style titles, and image thumbnails with captions can be brought up. This makes most sense where there are several markers on the map. The content for this facility is set with the following three parameters - which need to be numbered for each mark as for the other mark attibutes:

Parameter Description
mark-title This title appears as a tooltip and also a thumbnail title, accessed via the marker. if mark-title=none that will exclude that marker from the full screen map. (it will still show as normal on the main map).
mark-image This provides a pop-up thumbnail image when the marker is clicked. Include only the image name from Wikimedia commons etc. (i.e. no brackets, or 'File:').
mark-description Caption text, which will either accompany a pop-up photo, or if no photo then as a text box, when the marker is clicked. This can include wikilinks etc., to link on to additional relevant articles.

Underlying technology[rediger kildetekst]

OSM Location map itself has no map or display ability of its own. Everything within the frame is produced through the template {{Graph:Street map with marks}}, created by Bruger:Yurik. This in turn calls internal processes that turn all the data supplied at edit time into a rendered bitmap image, so that there is no calculation overhead by the time the page is read by a user, any more than any other commons image.

Whilst the map is being edited and previewed, the page is supplied with a rasterised image, collating the base-map, marks, labels, etc. on the fly. It will be particularly noticeable on small fonts that when the 'Publish Changes' button is pressed, the resulting bitmap has much worse fonts than the preview. (Maybe this will be improved at some point). The process of updating the map image and providing the right bitmap is all handled internally and invisibly. One of the consequences of the 'bitmap' solution, which is different from the standard {{Location map}} method, is that there is no text or objects on the final image, so there is no possibility of adding wikilinks within the template.

The full screen option, which can be clicked through from below the map, provides an entirely different mapping approach, using the same base-map data. This provides an interactive map that can be panned and zoomed. It also replicates (although at present only as numbered markers) the various marks from the page map. These can then be given more content, by way of a title, caption and image. The caption and title can then be given all the wikilinks and other markup features that may be desired, providing a map-based page that will offer another way of engaging with the article content.

Future development of the various mapping technologies is likely to result in further options for showing maps on Wikipedia. In particular, something more like the fullscreen interactive map, but within a frame, is likely to emerge. It has a much higher processor overhead than the bitmap based solution, which seems to be one reason for a slow and cautious development. The most likely main use of that might be within info-boxes, where the whole map is automatically generated from already available data.

This, on the other hand, is better suited to a hand-edited map, in which the area displayed and the selection of items and labels included are selected, edited, and added to, to suit the specifics of the subject in hand. A further approach, which is not currently supported within this template, but is available via the inderlying 'Graph' template, is to draw the data from Wikidata, using a query that provides the selection of marks requested.

The 'Graph' technology used here is described as under development, so while it is highly likely that this or a similar solution will still be available, it may evolve over time.