From Wikipedia, the free encyclopedia
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").
- Also see: For an unlimited list of markers/labels, see: Template:Location_map+,
- which specifies points as a coded template list of markers/labels.
{{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.
[edit] Available maps
List of live templates named Template:Location_map_<locname> (without "Template:" prefix here):
[edit] Creating new maps
- 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).
[edit] Examples
[edit] Map with label "Pag" and "Anytown" (degrees)
Pag (Croatia)
{{Location map many
|Croatia
|label=Pag |marksize=8 |markhigh=8
|pos=right | bg=yellow
|lat_deg=44 | lat_min=26
|lon_deg=15 | lon_min=3
|label2=Anytown_Anywhere
|mark2size=45 | mark2high=30
|mark2=
Rouge-Admin JollyRoger.svg
|pos2=top | bg2=white
|lat2_deg=46 | lat2_min=30
|lon2_deg=17 | lon2_min=30
|width=260
|float=right
}}
|
|
[edit] Maps with 3 labels (decimal)
Pag (Croatia)
{{Location map many | Croatia
| label=Pag | position=bottom
| lat=44.44 | long=15.05
| marksize=29 | markhigh=29
| label_size=250
| label2=Anytown
| pos2=bottom | bg2=yellow
| lat2=45.86 | long2=17.10
| mark2size=8 | mark2high=8
| background2=yellow
| label3=Anytown2 |label3_size=60
| pos3=bottom | bg3=lightgreen
| lat3=46.23 | long3=18.43
| mark3size=35 | mark3high=35
| width=260 | float=right
}}
|
|
Pag (Croatia)
{{Location map many | Croatia
| label=Pag | position=bottom
| lat=44.44 | long=15.05
| marksize=4 | markhigh=4
| label_size=99
| label2=Anytown | label2_size=210
| pos2=bottom | bg2=yellow
| lat2=45.10 | long2=17.50
| mark2size=6 | mark2high=6
| background2=yellow
| label3=Anytown2 |label3_size=50
| pos3=bottom | bg3=lightgreen
| lat3=46.23 | long3=18.43
| mark3size=2 | mark3high=2
| width=260 | float=right
}}
|
|
[edit] Map with some labels outside map
Pag (Croatia)
{{Location map many | Croatia
| label=Pag | position=right
| lat=44.44 | long=15.05
| marksize=8 | markhigh=8
| label2=Anytown
| pos2=bottom | bg2=yellow
| lat2=47.40 | long2=12.80
| marksize=8 | markhigh=8
| background2=yellow
| label3=Anytown2
| pos3=top | bg3=lightgreen
| lat3=41.98 | long3=18.43
| label4=North Croatia | pos4=left
| mark4size=0 | bg4=lightgreen
| lat4=46.22 | long4=17.7
| width=260 | float=right
}}
|
Latitude#2 (47.40) > map max(47.26).
Longitude#2(12.80) < map min(13.21).
Latitude#3 (41.98) < map min(42.08).
Pag (Croatia)
|
[edit] Map with 9 markers (decimal)
Pag (Croatia)
{{Location map many | Croatia
| label=Pag | position=right
| lat=44.44 | long=15.05
| label2=Anytown
| pos2=bottom| label2_size=110
| lat2=45.86 | long2=17.50
| background2=yellow
| label3=Anytown2
| pos3=top | label3_size=290
| lat3=46.23 | long3=18.43
| background3=green
| mark4=Diamond_sheer_black_20.gif
| mark4size=19 | mark4high=17
| label4=44.0 (latitude)
| lat4=44.00 | long4=13.5
| mark5=Diamond_sheer_black_20.gif
| mark5size=20 | mark5high=20
| label5=44.5
| lat5=44.50 | long5=13.5
| mark6=Diamond_sheer_black_20.gif
| mark6size=20 | mark6high=20
| label6=45.0
| lat6=45.00 | long6=13.5
| mark7=Diamond_sheer_black_20.gif
| mark7size=20 | mark7high=20
| label7=45.5
| lat7=45.50 | long7=13.5
| mark8=Diamond_sheer_black_20.gif
| mark8size=20 | mark8high=20
| label8=46.0
| lat8=46.00 | long8=13.5
| mark9=Diamond_sheer_black_20.gif
| mark9size=20 | mark9high=20
| label9=46.5
| lat9=46.50 | long9=13.5
| width=260 | float=right
}}
|
|
[edit] Map with custom label and text background
Imotski
{{Location map many | Croatia
|label=Imotski
|lat=43.44
|long=17.21
|position=right
|width=280
|float=right
|background=#FFFFDD
|caption=Imotski in Croatia
}}
|
|
[edit] Various markers on Sweden
Visby/Kiruna (Sweden)
{{Location map many
| SwedenCIAx
| caption = Show Visby/Kiruna Sweden
| label = Visby
| label_size = <!-- 0-900%--> 78
| mark=Blue pog.svg | marksize=8
| lat_deg=57 | lat_min=38
| lon_deg=18 | lon_min=17
| bg = <!--blue-->#9999EE | pos=right
| label2=Stockholm
| mark2=Blue pog.svg | mark2size=9
| pos2=left | label2_size=77
| lat2_deg=59 | lat2_min=21
| lon2_deg=18 | lon2_min=4
| bg2=yellow
| label3=Kiruna | skew3=0.885
| mark3=X_sheer_red_17.gif
| mark3size=17 | mark3high=17
| pos3=left | label3_size=144
| lat3_deg=67 | lat3_min=51
| lat3_sec=17
| lon3_deg=20 | lon3_min=13
| lon3_sec=22
| bg3 = <!--gold-->#CCCC11
| label4=Anytown2
| pos4=bottom | label4_size=100
| lat4=63.00 | long4=17.50
| bg4=lightgreen | mark4size=33
| mark4=Circle_sheer_red_33.gif
| label5=Anytown3
| pos5=left | label5_size=120
| lat5=65.00 | long5=17.50
| bg5=lightgreen | mark5size=33
| mark5=Circle_sheer_red_33.gif
| label6=Anytown4
| pos6=top | label6_size=120
| lat6=63.00 | long6=14.50
| bg6=darkorange | mark6size=7
| mark6=Green pog.svg
| float = right
| width = <!--show small--> 195
}}
|
|
[edit] Map with enlarged marker and label
Pag (Croatia)
{{Location map many | Croatia
|label=Pag
|label_size=200
|lat=44.44
|long=15.05
|marksize=14 | position=right
|width=260
|float=right
|background=#FFFFDD
|caption=Pag Island in Croatia
}}
|
|
[edit] Map with no caption
Brčko (Bosnia and Herzegovina)
{{Location map
|Bosnia
|label=Brčko
|position=left
|width=150
|lat=44.87
|long=18.81
|float=right
|caption=
}}
|
|
[edit] Western Hemisphere
Lockerbie (Scotland)
{{Location map
|Scotland
|label=Lockerbie
| lat_dir=N
| lat_deg=55 | lat_min=07 | lat_sec=16
| lon_dir=W
| lon_deg=03 | lon_min=21 | lon_sec=19
|position=right
|width=180
|float=right
|caption=Lockerbie in Scotland
}}
|
|
[edit] Country that crosses 180° meridian
Uelen (Russia)
{{Location map
|Russia
|label=Uelen
|lat_deg=66|lat_min=09
|lon_deg=169|lon_min=48|lon_dir=W
|position=left
|width=500
|float=right
|background=#FFFFDD
}}
|
|
[edit] Implementation notes
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%; ...>"
- For placing latitude, the calculation is:
-
- XX.X% = 100 * (top - (lat_deg + latmin/60 +latsec/3600) ) / (top - bottom)
- If lat_deg is empty, the combined decimal latitude is used from "lat".
- If lat_dir is "S" (south), the latitude is multiplied by -1.
- (Note latitude is positioned in reverse, from top of map downward.)
- For placing longitude, the calculation is:
-
- YY.Y% = 100 * ( (lon_deg + lonmin/60 +lonsec/3600) - left ) / (right - left)
- If lon_deg is empty, the combined decimal longitude is used as "long".
- If lon_dir is "W" (west), the longitude is multiplied by -1.
- The div-tag is ended as "height: 0; width: 0; margin: 0; padding: 0;">".
- Within that division the marker/label sub-divisions are coded as:
-
- <div style="position: relative text-align: center; ...">.
- For label position, the options are shifted as:
-
- when position=left, adds "left: -6.5em; text-align: right;"
- when position=right, adds "left: 0.5em; text-align: left;"
- when position=top, adds "top:-2.65em; left:-3em; text-align: center;"
- when position=bottom, adds "top:-0.15em; left: -3em; text-align: center;" to div-tag.
[edit] See also