साँचा:Location map many

मुक्त ज्ञानकोश विकिपीडिया से
Jump to navigation Jump to search
परिचय का प्रतीक साँचा परिचय[देखें] [संपादन] [इतिहास] [पर्ज]

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.

Usage[संपादित करें]

{{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 in pixels (0=skip marker, default=8)
|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 in pixels (0=skip, default=8)
|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 in pixels (0=skip, default=8)
|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.

When a marker's mark#size=0, then that marker is skipped and only the related label is displayed, without the marker.

Advisory messages[संपादित करें]

Due to the numerous details of specifying 9 markers/labels, the latitude and longitude are checked to lie within the actual map limits specified in Template:Location_map_<parameter1>. Each marker/label is checked and can list a message (under the map), such as:

Latitude#4 (45.68) < map min(53.74).

Processing continues, with that marker actually placed off-map, and all latitude/longitude parameters are checked, for a total of 18 possible advisory messages. Only degrees of latitude/longitude are checked, so a value of 63 minutes would be valid to indicate 1 extra degree + 3 minutes, and setting lon_min=200 could still place a marker off-map (right-side) with no warning. Also, large markers or long labels can spill over the edges of a map, allowing markers to point inward from outside the map. In such cases, a map could be centered by itself on the page ("float=center") to avoid overlapping the edge markers onto any surrounding article text.

Available maps[संपादित करें]

List of live templates named Template:Location_map_<locname> (without "Template:" prefix here):

Creating new maps[संपादित करें]

  1. Find an appropriate blank map in equirectangular projection (otherwise, coordinates will drift off, typically further north)
  2. Create a template named "Template:Location_map_locname" (copy the content of any other map template into it and enter appropriate values).
  3. 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).
  4. 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).

Examples[संपादित करें]

Map with label "Pag" and "Anytown" (degrees)[संपादित करें]

Pag (Croatia)
{{Location map many
 |Croatia
 |label=Pag |marksize=8 |markhigh=8
 |<!--Rouge-Admin JollyRoger.svg-->
    |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=280
 |float=right
}}
Location map many की Croatia के मानचित्र पर अवस्थिति
Pag
Pag
Anytown_Anywhere
Anytown_Anywhere
Location map many (Croatia)

Map with 3 labels (decimal)[संपादित करें]

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=45.86  | long2=17.50
      | marksize=8 | markhigh=8
      | background2=yellow
 | label3=Anytown2
      | pos3=top   | bg3=lightgreen
      | lat3=46.23 | long3=18.43
 | width=260 | float=right
}}
Location map many की Croatia के मानचित्र पर अवस्थिति
Pag
Pag
Anytown
Anytown
Anytown2
Anytown2
Location map many (Croatia)

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
}}
Location map many की Croatia के मानचित्र पर अवस्थिति
Pag
Pag
Anytown
Anytown
Anytown2
Anytown2
North Croatia
Location map many (Croatia)

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.png
      | mark4size=19 | mark4high=17
      | label4=44.0 (latitude)
      | lat4=44.00 | long4=13.5
 | mark5=Diamond_sheer_black_20.png
      | mark5size=20 | mark5high=20
      | label5=44.5
      | lat5=44.50 | long5=13.5
 | mark6=Diamond_sheer_black_20.png
      | mark6size=20 | mark6high=20
      | label6=45.0
      | lat6=45.00 | long6=13.5
 | mark7=Diamond_sheer_black_20.png
      | mark7size=20 | mark7high=20
      | label7=45.5
      | lat7=45.50 | long7=13.5
 | mark8=Diamond_sheer_black_20.png
      | mark8size=20 | mark8high=20
      | label8=46.0
      | lat8=46.00 | long8=13.5
 | label9=''CROATIA'' |label9_size=165
      | mark9size=<!--label only-->1
      | lat9=42.60 | long9=14.4
 | width=260 | float=right
}}
Location map many की Croatia के मानचित्र पर अवस्थिति
Pag
Pag
Anytown
Anytown
Anytown2
Anytown2
44.0 (latitude)
44.0 (latitude)
44.5
44.5
45.0
45.0
45.5
45.5
46.0
46.0
CROATIA
CROATIA
Location map many (Croatia)

Map with a 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
 }}
Location map many की Croatia के मानचित्र पर अवस्थिति
Imotsky
Imotsky
Imotski in Croatia

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
 }}
Location map many की Croatia के मानचित्र पर अवस्थिति
Pag
Pag
Pag Island in Croatia

Map with no caption[संपादित करें]

Brčko (Bosnia and Herzegovina)
{{Location map many
 |Bosnia
 |label=Brčko
 |position=left
 |width=150
 |lat=44.87
 |long=18.81
 |float=right
 |caption=
 }}
Location map many की Bosnia के मानचित्र पर अवस्थिति
Brčko
Brčko

Western Hemisphere[संपादित करें]

Lockerbie (Scotland)
{{Location map many | United Kingdom
 |label=Lockerbie
 | lat_dir=N
 | lat_deg=55 | lat_min=07 | lat_sec=16
 | lon_deg= -3 | lon_min=-21 | lon_sec=-19
 |position=right
 |width=180
 |float=right
 |caption=Lockerbie in Scotland
}}
Location map many की United Kingdom के मानचित्र पर अवस्थिति
Lockerbie
Lockerbie
Lockerbie in Scotland

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
 }}
Uelen की रूस के मानचित्र पर अवस्थिति
Uelen
Uelen
Uelen (रूस)

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.

See also[संपादित करें]