Creates a location map as a composite image of an existing map in equirectangular projection, with multiple (up to 9) markers and optional labels superimposed onto it. This template functions in the style of Template:Location_map, but allows 9 markers and labels (rather than just one marker). Note: For brevity, parameters "pos" & "bg" are aliases (for "position" & "background").
{{Location map many
|locname (selected from templates named "Location_map_<locname>")
------------------------------------------- 1st label & marker
|label = 1st label text
|label_size = 1st label font size, percent (such as "85")
|position = pos = left or right or top or bottom – position of
1st label relative to 1st mark (default: right)
|background = bg = background color for 1st label, defaults transparent
|lon_dir=W 1st longitude direction: W=west, E=east (default)
|lat_dir=S 1st latitude direction: S=south, N=north (default)
|lat_deg = 1st latitude degrees (negative to indicate south)
|lat_min = 1st latitude minutes (negative to indicate south)
|lat_sec = 1st latitude seconds (or use combined lat)
|lon_deg = 1st longitude degrees (negative to indicate west)
|lon_min = 1st longitude minutes (negative to indicate west)
|lon_sec = 1st longitude seconds (or use combined long)
|lat = 1st latitude (as decimal; negative for south latitude)
|long = 1st longitude (as decimal; negative for west longitude)
|mark = 1st marker image file name, a red dot by default
|marksize = 1st marker size, default=8 (pixels wide)
|markhigh = 1st marker height, default=8
------------------------------------------- 2nd label & marker
|label2 = 2nd label text
|label2_size = 2nd label font size, percent (such as "85")
|position2 = pos2 = left or right or top or bottom – position of
2nd label relative to 2nd mark (default: right)
|background2 = bg2 = background color for 2nd label, defaults transparent
|lat2_deg = 2nd latitude degrees (negative to indicate south)
|lat2_min = 2nd latitude minutes (negative to indicate south)
|lat2_sec = 2nd latitude seconds (or use combined lat2)
|lon2_deg = 2nd longitude degrees (negative to indicate west)
|lon2_min = 2nd longitude minutes (negative to indicate west)
|lon2_sec = 2nd longitude seconds (or use combined long2)
|lat2 = 2nd latitude (as decimal; negative for south latitude)
|long2 = 2nd longitude (as decimal; negative for west longitude)
|mark2 = 2nd marker image file name, a red dot by default
|mark2size = 2nd marker size, default=8 (pixels wide)
|mark2high = 2nd marker height, default=8
------------------------------------------- 3rd label & marker
|label3 = 3rd label text
|label3_size = 3rd label font size, percent (such as "120")
|pos3, bg3 = 3rd label position & background color
(... similar latitude/longitude parameters named "~3" ...)
|mark3 = 3rd marker image file name, a red dot by default
|mark3size = 3rd marker size, default=8 (pixels wide)
|mark3high = 3rd marker height, default=8
(...repeat until label9/mark9...)
-------------------------------------------
|border = border color or none
|caption = map caption; for no caption enter "caption=";
if omitted, then the caption will be auto-generated
as: "<marker #1 label> (<location map name>)"
|float = left or right or center or none for map placement
|width = map width for display size
|AlternativeMap = Alternative map file name (changes background map,
border coordinates are determined based on the map name);
this is only recommended for use in templates
}}
Parameter locname refers to {Template:Location map locname} containing the image name and coordinates of a particular map.
Find an appropriate blank map in equirectangular projection (otherwise, coordinates will drift off, typically further north)
Create a template named "Template:Location_map_locname" (copy the content of any other map template into it and enter appropriate values).
Set default parameter values (using those parameter names), such as setting "mark" with image-file name and "marksize" for pixels wide/tall, or set default label font size ("label_size = 78" percent).
Parameter names not used by "Template:Location_map" will be ignored by it, and only used for multiple-markers (such as defaulting "label2_size = 78" percent, or "mark2size=7" pixels).
The map with markers/labels is implemented as nested HTML divisions. The map-image is in an HTML division, containing each point as a percent-locator division containing a marker-image sub-division plus a label sub-division. Each point is calculated (for a percent-locator division) with X or Y coordinate "XX.X%" or "YY.Y%" as follows:
The div-tag is "<div style="position: absolute; z-index: 2; top: XX.X%; left: YY.Y%; ...>"