Template:Location map many: Difference between revisions

From Zoophilia Wiki
Jump to navigationJump to search
meta>Wikid77
renested divisions from original rambling spaghetti-code
Ookami (talk | contribs)
m 64 revisions imported
 
(58 intermediate revisions by 11 users not shown)
Line 1: Line 1:
<includeonly><!--
<includeonly>{{#invoke:Location map/multi|many}}</includeonly><noinclude>
-- Template for image with markers/labels (see bottom NOTES)
{{Documentation}}
-->
<!-- PLEASE ADD THIS TEMPLATE'S CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS -->
<div style="width: {{#expr: {{{width|240}}} + 2 }}px; {{#if: {{{caption|}}}
  | padding: 3px; border: 1px solid {{#if: {{{border|}}}
    | {{{border|none}}}
    | #CCCCCC
  }}; margin: 3px;
}} float:{{#switch:{{{float|}}}|"center"=none|center=none|"left"=left|"right"=right|left=left|right=right|"none"=none|none=none|right}}; clear:{{#switch:{{{float|}}}|"center"=both|center=both|"left"=left|"right"=right|left=left|right=right|"none"=none|none=none|right}}; {{#if: {{{caption|}}} | ;background:#F9F9F9"|" }}><!--
------------------------------------------- Map division --
--><div style="position: relative;{{#ifeq: {{{border|}}} | none |
  |border: 1px solid {{#if: {{{border|}}}
    | {{{border}}}
    | {{#if:{{{caption|}}}|#CCCCCC|none}}
  }};
}} padding: 0px; width: {{{width|240}}}px"><!-- ----- The Map
-->[[image:{{#if: {{{AlternativeMap|}}} | {{{AlternativeMap}}} | {{Location map {{{1}}}|image}} }}|{{{width|240}}}px|{{#if: {{{label|}}}
  | {{{label}}}
  | {{PAGENAME}}
}} ({{Location map {{{1}}}|name}})]]<br /><!--
----------------------------------------------- Marker/Label #1
--><div style="position: absolute; z-index: 2; top: {{#expr:
  100 * ({{Location map {{{1}}}|top}} - {{#if: {{{lat_deg|}}}
    | {{#expr: {{#ifeq: {{{lat_dir|}}}|S|-1|1}} * ({{{lat_deg|0}}} + ({{{lat_min|0}}} / 60) + ({{{lat_sec|0}}} / 3600)) }}
    | {{{lat|0}}}
  }}) / ({{Location map {{{1}}}|top}} - {{Location map {{{1}}}|bottom}}) round 1
}}%; left: {{#expr:
  {{#expr:{{#if:{{Location map {{{1}}}|crosses180}}|{{#ifeq: {{{lon_dir|}}}|W|-36000/({{Location map {{{1}}}|left}}-{{Location map {{{1}}}|right}})|}}|}}}} + 100 * ({{#if: {{{lon_deg|}}}
    | {{#expr: {{#ifeq: {{{lon_dir|}}}|W|-1|1}} * ({{{lon_deg|0}}} + ({{{lon_min|0}}} / 60) + ({{{lon_sec|0}}} / 3600)) }}
    | {{{long|0}}}
  }} - {{Location map {{{1}}}|left}}) / ({{Location map {{{1}}}|right}} - {{Location map {{{1}}}|left}}) round 1
}}%; height: 0; width: 0; margin: 0; padding: 0;"><div style="position: relative; text-align: center; {{#if: {{{marksize|}}}
  | left: -{{#expr: {{{marksize}}} / 2 round 0 }}px; top: -{{#expr: {{{marksize}}} / 2 round 0 }}px; width: {{{marksize}}}px; font-size: {{{marksize}}}px;
  | left: -{{#expr: {{#if: {{Location map {{{1}}}|marksize}}|{{Location map {{{1}}}|marksize}}|8}} / 2 round 0 }}px; top: -{{#expr: {{#if: {{Location map {{{1}}}|marksize}}|{{Location map {{{1}}}|marksize}}|8}} / 2 round 0 }}px; width: {{#if: {{Location map {{{1}}}|marksize}}|{{Location map {{{1}}}|marksize}}|8}}px; font-size: {{#if: {{Location map {{{1}}}|marksize}}|{{Location map {{{1}}}|marksize}}|8}}px;
}}">[[Image:{{#if: {{{mark|}}}
  | {{{mark}}}
  | {{#if: {{Location map {{{1}}}|mark}}|{{Location map {{{1}}}|mark}}|Red pog.svg}}
}}|{{#if: {{{marksize|}}}
  | {{{marksize}}}x{{{marksize}}}
  | {{#if: {{Location map {{{1}}}|marksize}}|{{Location map {{{1}}}|marksize}}|8}}x{{#if: {{Location map {{{1}}}|marksize}}|{{Location map {{{1}}}|marksize}}|8}}
}}px|{{#if: {{{label|}}} <!-- ------ Label #1 -->
  | {{{label}}}  
  | {{PAGENAME}}
}}]]</div><!--end-div marker1 -->{{#ifeq: {{{position|}}} | none
  |
  |<div style="font-size: {{{label_size|90}}}%; line-height: 110%; position: relative; top: -1.5em; width: 6em; {{#switch: {{{position}}}
    |left = left: -6.5em; text-align: right;
    |right = left: 0.5em; text-align: left;
    |top = top:-2.65em; left:-3em; text-align: center;
    |bottom = top:-0.15em; left: -3em; text-align: center;
    |left: 0.5em; text-align: left;
  }}"><span style="padding: 1px; {{#if: {{{background|}}}
    | background-color: {{{background}}};
  }}">{{{label|}}}</span></div><!--end-div label1 -->
------------------------------------------------ Marker/Label #2
--><div style="position: absolute; z-index: 2; top: {{#expr:
  100 * ({{Location map {{{1}}}|top}} - {{#if: {{{lat2_deg|}}}
    | {{#expr: {{#ifeq: {{{lat2_dir|}}}|S|-1|1}} * ({{{lat2_deg|0}}} + ({{{lat2_min|0}}} / 60) + ({{{lat2_sec|0}}} / 3600)) }}
    | {{{lat2|0}}}
  }}) / ({{Location map {{{1}}}|top}} - {{Location map {{{1}}}|bottom}}) round 1
}}%; left: {{#expr:
  {{#expr:{{#if:{{Location map {{{1}}}|crosses180}}|{{#ifeq: {{{lon2_dir|}}}|W|-36000/({{Location map {{{1}}}|left}}-{{Location map {{{1}}}|right}})|}}|}}}} + 100 * ({{#if: {{{lon2_deg|}}}
    | {{#expr: {{#ifeq: {{{lon2_dir|}}}|W|-1|1}} * ({{{lon2_deg|0}}} + ({{{lon2_min|0}}} / 60) + ({{{lon2_sec|0}}} / 3600)) }}
    | {{{long2|0}}}
  }} - {{Location map {{{1}}}|left}}) / ({{Location map {{{1}}}|right}} - {{Location map {{{1}}}|left}}) round 1
}}%; height: 0; width: 0; margin: 0; padding: 0;"><div style="position: relative; text-align: center; {{#if: {{{mark2size|}}}
  | left: -{{#expr: {{{mark2size}}} / 2 round 0 }}px; top: -{{#expr: {{{mark2size}}} / 2 round 0 }}px; width: {{{mark2size}}}px; font-size: {{{mark2size}}}px;
  | left: -{{#expr: {{#if: {{Location map {{{1}}}|mark2size}}|{{Location map {{{1}}}|mark2size}}|8}} / 2 round 0 }}px; top: -{{#expr: {{#if: {{Location map {{{1}}}|mark2size}}|{{Location map {{{1}}}|mark2size}}|8}} / 2 round 0 }}px; width: {{#if: {{Location map {{{1}}}|mark2size}}|{{Location map {{{1}}}|mark2size}}|8}}px; font-size: {{#if: {{Location map {{{1}}}|mark2size}}|{{Location map {{{1}}}|mark2size}}|8}}px;
}}">[[Image:{{#if: {{{mark2|}}}
  | {{{mark2}}}
  | {{#if: {{Location map {{{1}}}|mark2}}|{{Location map {{{1}}}|mark2}}|Red pog.svg}}
}}|{{#if: {{{mark2size|}}}
  | {{{mark2size}}}x{{{mark2size}}}
  | {{#if: {{Location map {{{1}}}|mark2size}}|{{Location map {{{1}}}|mark2size}}|8}}x{{#if: {{Location map {{{1}}}|mark2size}}|{{Location map {{{1}}}|mark2size}}|8}}
}}px|{{#if: {{{label2|}}} <!-- ------ Label #2 -->
  | {{{label2}}}
  | {{PAGENAME}}
}}]]</div>{{#ifeq: {{{position|}}} | none
  |
  |<div style="font-size: {{{label2_size|90}}}%; line-height: 110%; position: relative; top: -1.5em; width: 6em; {{#switch: {{{position2}}}
    |left = left: -6.5em; text-align: right;
    |right = left: 0.5em; text-align: left;
    |top = top:-2.65em; left:-3em; text-align: center;
    |bottom = top:-0.15em; left: -3em; text-align: center;
    |left: 0.5em; text-align: left;
  }}"><span style="padding: 1px; {{#if: {{{background2|}}}
    | background-color: {{{background2}}};
  }}">{{{label2|}}}</span></div><!-- end #2
-------------------------------------------------- Marker/Label #3
--><div style="position: absolute; z-index: 2; top: {{#expr:
  100 * ({{Location map {{{1}}}|top}} - {{#if: {{{lat3_deg|}}}
    | {{#expr: {{#ifeq: {{{lat3_dir|}}}|S|-1|1}} * ({{{lat3_deg|0}}} + ({{{lat3_min|0}}} / 60) + ({{{lat3_sec|0}}} / 3600)) }}
    | {{{lat3|0}}}
  }}) / ({{Location map {{{1}}}|top}} - {{Location map {{{1}}}|bottom}}) round 1
}}%; left: {{#expr:
  {{#expr:{{#if:{{Location map {{{1}}}|crosses180}}|{{#ifeq: {{{lon3_dir|}}}|W|-36000/({{Location map {{{1}}}|left}}-{{Location map {{{1}}}|right}})|}}|}}}} + 100 * ({{#if: {{{lon3_deg|}}}
    | {{#expr: {{#ifeq: {{{lon3_dir|}}}|W|-1|1}} * ({{{lon3_deg|0}}} + ({{{lon3_min|0}}} / 60) + ({{{lon3_sec|0}}} / 3600)) }}
    | {{{long3|0}}}
  }} - {{Location map {{{1}}}|left}}) / ({{Location map {{{1}}}|right}} - {{Location map {{{1}}}|left}}) round 1
}}%; height: 0; width: 0; margin: 0; padding: 0;"><div style="position: relative; text-align: center; {{#if: {{{mark3size|}}}
  | left: -{{#expr: {{{mark3size}}} / 2 round 0 }}px; top: -{{#expr: {{{mark3size}}} / 2 round 0 }}px; width: {{{mark3size}}}px; font-size: {{{mark3size}}}px;
  | left: -{{#expr: {{#if: {{Location map {{{1}}}|mark3size}}|{{Location map {{{1}}}|mark3size}}|8}} / 2 round 0 }}px; top: -{{#expr: {{#if: {{Location map {{{1}}}|mark3size}}|{{Location map {{{1}}}|mark3size}}|8}} / 2 round 0 }}px; width: {{#if: {{Location map {{{1}}}|mark3size}}|{{Location map {{{1}}}|mark3size}}|8}}px; font-size: {{#if: {{Location map {{{1}}}|mark3size}}|{{Location map {{{1}}}|mark3size}}|8}}px;
}}">[[Image:{{#if: {{{mark3|}}}
  | {{{mark3}}}
  | {{#if: {{Location map {{{1}}}|mark3}}|{{Location map {{{1}}}|mark3}}|Red pog.svg}}
}}|{{#if: {{{mark3size|}}}
  | {{{mark3size}}}x{{{mark3size}}}
  | {{#if: {{Location map {{{1}}}|mark3size}}|{{Location map {{{1}}}|mark3size}}|8}}x{{#if: {{Location map {{{1}}}|mark3size}}|{{Location map {{{1}}}|mark3size}}|8}}
}}px|{{#if: {{{label3|}}} <!-- ------ Label #3 -->
  | {{{label3}}}
  | {{PAGENAME}}
}}]]</div>{{#ifeq: {{{position3|}}} | none
  |
  |<div style="font-size: {{{label3_size|90}}}%; line-height: 110%; position: relative; top: -1.5em; width: 6em; {{#switch: {{{position3}}}
    |left = left: -6.5em; text-align: right;
    |right = left: 0.5em; text-align: left;
    |top = top:-2.65em; left:-3em; text-align: center;
    |bottom = top:-0.15em; left: -3em; text-align: center;
    |left: 0.5em; text-align: left;
  }}"><span style="padding: 1px; {{#if: {{{background3|}}}
    | background-color: {{{background3}}};
  }}">{{{label3|}}}</span></div><!-- end #3
}}<!-- ---------------------- Caption (division)
--><div style="font-size: 90%">{{{caption|{{#if: {{{label|}}}
  | {{{label}}}
  | {{PAGENAME}}
}} ({{Location map {{{1}}}|name}})}}}</div><!--
</div></div></div><!--force any divisions closed -->
</includeonly><noinclude><!--
--
-- NOTES:
--  This code generates an HTML division to show the map image,
--  overlayed with a marker-image division & label division,
--  for each pair of the marker/label points.
--
--  The "map image" can be any image, allowing markers/labels
--  to annotate any picture.  Set marksize=0 to show labels only.
--
--  [ These comments take < 1 second per 5,000 comment lines. ]
--  [ Be sure to close comments: primitive editors don't check. ]
--
--HISTORY:
-- 06Sep07 Created/debugged to allow 3 markers.
-->
{{/doc}}
 
[[Category:Graphic templates]]
[[Category:Mapping templates]]
</noinclude>
</noinclude>

Latest revision as of 17:27, 3 September 2020