قالب:OSM Location map/مختبر

من أرابيكا، الموسوعة الحرة

هذه هي النسخة الحالية من هذه الصفحة، وقام بتعديلها عبود السكاف (نقاش | مساهمات) في 18:21، 29 يونيو 2023 (بوت: إصلاح أخطاء فحص أرابيكا من 1 إلى 104). العنوان الحالي (URL) هو وصلة دائمة لهذه النسخة.

(فرق) → نسخة أقدم | نسخة حالية (فرق) | نسخة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

قالب:Testcases notice

Test 1

مقارنة جنبًا إلى جنب
{{OSM Location map}}{{OSM Location map/ملعب}}
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":350, "height": 250, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "53.414599"} },
   {"name":"imgLon", "init": {"expr": "-4.3341279"} },
   {"name":"imgZoom", "init": {"expr": "15"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "0"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   

{ "lat": 53.414599,

    "lon": -4.3341279, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": 138, 
    "offsetY": 115, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "200m" }

, { "lat": 0, "lon": 0, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "", "textAlign": "right", "textBaseline": "middle", "textDx": -7, "textDy": 0+1, "textFontSize": 10


}









     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>

<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":350, "height": 250, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "53.414599"} },
   {"name":"imgLon", "init": {"expr": "-4.3341279"} },
   {"name":"imgZoom", "init": {"expr": "15"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "0"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   

{ "lat": 53.414599,

    "lon": -4.3341279, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": 138, 
    "offsetY": 115, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "200m" }

, { "lat": 0, "lon": 0, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "", "textAlign": "right", "textBaseline": "middle", "textDx": -7, "textDy": 0+1, "textFontSize": 10


}









     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>

مقارنة جنبًا إلى جنب
{{OSM Location map}}{{OSM Location map/ملعب}}
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":350, "height": 250, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "53.41459"} },
   {"name":"imgLon", "init": {"expr": "-4.3341279"} },
   {"name":"imgZoom", "init": {"expr": "15"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "0"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   

{ "lat": 53.41459,

    "lon": -4.3341279, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": 138, 
    "offsetY": 115, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "200m" }

, { "lat": 0, "lon": 0, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "", "textAlign": "right", "textBaseline": "middle", "textDx": -7, "textDy": 0+1, "textFontSize": 10


}

, { "lat": 53.41459, "lon": -4.3341279, "size": "0", "text": "label2", "textAlign": "left", "textBaseline": "middle", "textDx": 2, "textDy": 0+1, "textFontSize": 10


}








     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>

<maplink>: لم يمكن تحليل JSON: خطأ صياغة
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":350, "height": 250, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "53.41459"} },
   {"name":"imgLon", "init": {"expr": "-4.3341279"} },
   {"name":"imgZoom", "init": {"expr": "15"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "0"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   

{ "lat": 53.41459,

    "lon": -4.3341279, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": 138, 
    "offsetY": 115, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "200m" }

, { "lat": 0, "lon": 0, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "", "textAlign": "right", "textBaseline": "middle", "textDx": -7, "textDy": 0+1, "textFontSize": 10


}

, { "lat": 53.41459, "lon": -4.3341279, "size": "0", "text": "label2", "textAlign": "left", "textBaseline": "middle", "textDx": 2, "textDy": 0+1, "textFontSize": 10


}








     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>

Test 2

مقارنة جنبًا إلى جنب
{{OSM Location map}}{{OSM Location map/ملعب}}
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":250, "height": 150, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "53.3940"} },
   {"name":"imgLon", "init": {"expr": "-4.4500"} },
   {"name":"imgZoom", "init": {"expr": "13"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "0"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   

{ "lat": 53.3940,

    "lon": -4.4500, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": 88, 
    "offsetY": 65, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "1km" }

, { "lat": 53.3966, "lon": -4.46204, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "Llanfechell Triangle", "textAlign": "left", "textBaseline": "middle", "textDx": 7, "textDy": 0+1, "textFontSize": 10


}









     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>

The 'Llanfechell Triangle' standing stones are north-west of لانفيتشيل (أنغلزي).
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":250, "height": 150, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "53.3940"} },
   {"name":"imgLon", "init": {"expr": "-4.4500"} },
   {"name":"imgZoom", "init": {"expr": "13"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "0"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   

{ "lat": 53.3940,

    "lon": -4.4500, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": 88, 
    "offsetY": 65, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "1km" }

, { "lat": 53.3966, "lon": -4.46204, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "Llanfechell Triangle", "textAlign": "left", "textBaseline": "middle", "textDx": 7, "textDy": 0+1, "textFontSize": 10


}









     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>

The 'Llanfechell Triangle' standing stones are north-west of لانفيتشيل (أنغلزي).
مقارنة جنبًا إلى جنب
{{OSM Location map}}{{OSM Location map/ملعب}}
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":250, "height": 150, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "53.3940"} },
   {"name":"imgLon", "init": {"expr": "-4.4500"} },
   {"name":"imgZoom", "init": {"expr": "13"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "0"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   

{ "lat": 53.3940,

    "lon": -4.4500, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": 88, 
    "offsetY": 65, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "1km" }

, { "lat": 53.3966, "lon": -4.46204, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "Llanfechell Triangle", "textAlign": "left", "textBaseline": "middle", "textDx": 7, "textDy": 0+1, "textFontSize": 10


}









     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>

The 'Llanfechell Triangle' standing stones are north-west of لانفيتشيل (أنغلزي).
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":250, "height": 150, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "53.3940"} },
   {"name":"imgLon", "init": {"expr": "-4.4500"} },
   {"name":"imgZoom", "init": {"expr": "13"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "0"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   

{ "lat": 53.3940,

    "lon": -4.4500, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": 88, 
    "offsetY": 65, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "1km" }

, { "lat": 53.3966, "lon": -4.46204, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "Llanfechell Triangle", "textAlign": "left", "textBaseline": "middle", "textDx": 7, "textDy": 0+1, "textFontSize": 10


}









     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>

The 'Llanfechell Triangle' standing stones are north-west of لانفيتشيل (أنغلزي).

Test 3

مقارنة جنبًا إلى جنب
{{OSM Location map}}{{OSM Location map/ملعب}}
London's Heathrow Airport
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":360, "height": 300, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "51.46534"} },
   {"name":"imgLon", "init": {"expr": "-0.44542"} },
   {"name":"imgZoom", "init": {"expr": "12"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "1"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   

{ "lat": 51.46534,

    "lon": -0.44542, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": -36, 
    "offsetY": 140, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "2km" }

, { "lat": 51.471867, "lon": -0.456726, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Airplane_silhouette.svg/20px-Airplane_silhouette.svg.png", "height": 20, "width": 20, "text": "Terminals 1 & 3", "textAlign": "center", "textBaseline": "bottom", "textDx": 0, "textDy": -12, "textFontSize": 13, "textColor": "Blue"


} , { "lat": 51.470156, "lon": -0.448497, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Airplane_silhouette.svg/20px-Airplane_silhouette.svg.png", "height": 20, "width": 20, "text": "Terminal 2", "textAlign": "center", "textBaseline": "top", "textDx": 0, "textDy": 12, "textFontSize": 13, "textColor": "Blue"


} , { "lat": 51.471948, "lon": -0.487883, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Airplane_silhouette.svg/20px-Airplane_silhouette.svg.png", "height": 20, "width": 20, "text": "Terminal 5", "textAlign": "center", "textBaseline": "top", "textDx": 0, "textDy": 12, "textFontSize": 13, "textColor": "Blue"


} , { "lat": 51.459409, "lon": -0.446459, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Airplane_silhouette.svg/20px-Airplane_silhouette.svg.png", "height": 20, "width": 20, "text": "Terminal 4", "textAlign": "right", "textBaseline": "middle", "textDx": -12, "textDy": 0+1, "textFontSize": 13, "textColor": "Blue"


} , { "lat": 51.467269, "lon": -0.4233598, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/4/41/Underground.svg/14px-Underground.svg.png", "height": 14, "width": 14, "text": "Hatton Cross", "textAlign": "left", "textBaseline": "middle", "textDx": 9, "textDy": -6+1, "textFontSize": 13, "textColor": "Blue"


}







     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>


With five terminals, مطار لندن هيثرو, is the busiest airport in Europe.
London's Heathrow Airport
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":360, "height": 300, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "51.46534"} },
   {"name":"imgLon", "init": {"expr": "-0.44542"} },
   {"name":"imgZoom", "init": {"expr": "12"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "1"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   

{ "lat": 51.46534,

    "lon": -0.44542, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": -36, 
    "offsetY": 140, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "2km" }

, { "lat": 51.471867, "lon": -0.456726, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Airplane_silhouette.svg/20px-Airplane_silhouette.svg.png", "height": 20, "width": 20, "text": "Terminals 1 & 3", "textAlign": "center", "textBaseline": "bottom", "textDx": , "textDy": خطأ في التعبير: معامل مفقود للعامل +., "textFontSize": 13, "textColor": "Blue"


} , { "lat": 51.470156, "lon": -0.448497, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Airplane_silhouette.svg/20px-Airplane_silhouette.svg.png", "height": 20, "width": 20, "text": "Terminal 2", "textAlign": "center", "textBaseline": "top", "textDx": , "textDy": 12, "textFontSize": 13, "textColor": "Blue"


} , { "lat": 51.471948, "lon": -0.487883, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Airplane_silhouette.svg/20px-Airplane_silhouette.svg.png", "height": 20, "width": 20, "text": "Terminal 5", "textAlign": "center", "textBaseline": "top", "textDx": , "textDy": 12, "textFontSize": 13, "textColor": "Blue"


} , { "lat": 51.459409, "lon": -0.446459, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Airplane_silhouette.svg/20px-Airplane_silhouette.svg.png", "height": 20, "width": 20, "text": "Terminal 4", "textAlign": "right", "textBaseline": "middle", "textDx": -12, "textDy": 0+1, "textFontSize": 13, "textColor": "Blue"


} , { "lat": 51.467269, "lon": -0.4233598, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/4/41/Underground.svg/14px-Underground.svg.png", "height": 14, "width": 14, "text": "Hatton Cross", "textAlign": "left", "textBaseline": "middle", "textDx": 9, "textDy": -6+1, "textFontSize": 13, "textColor": "Blue"


}







     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>


With five terminals, مطار لندن هيثرو, is the busiest airport in Europe.
مقارنة جنبًا إلى جنب
{{OSM Location map}}{{OSM Location map/ملعب}}
London's Heathrow Airport
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":360, "height": 300, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "51.46534"} },
   {"name":"imgLon", "init": {"expr": "-0.44542"} },
   {"name":"imgZoom", "init": {"expr": "12"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "1"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   

{ "lat": 51.46534,

    "lon": -0.44542, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": -36, 
    "offsetY": 140, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "2km" }

, { "lat": 51.471867, "lon": -0.456726, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Airplane_silhouette.svg/20px-Airplane_silhouette.svg.png", "height": 20, "width": 20, "text": "Terminals 1 & 3", "textAlign": "center", "textBaseline": "bottom", "textDx": 0, "textDy": -12, "textFontSize": 13, "textColor": "Blue"


} , { "lat": 51.470156, "lon": -0.448497, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Airplane_silhouette.svg/20px-Airplane_silhouette.svg.png", "height": 20, "width": 20, "text": "Terminal 2", "textAlign": "center", "textBaseline": "top", "textDx": 0, "textDy": 12, "textFontSize": 13, "textColor": "Blue"


} , { "lat": 51.471948, "lon": -0.487883, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Airplane_silhouette.svg/20px-Airplane_silhouette.svg.png", "height": 20, "width": 20, "text": "Terminal 5", "textAlign": "center", "textBaseline": "top", "textDx": 0, "textDy": 12, "textFontSize": 13, "textColor": "Blue"


} , { "lat": 51.459409, "lon": -0.446459, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Airplane_silhouette.svg/20px-Airplane_silhouette.svg.png", "height": 20, "width": 20, "text": "Terminal 4", "textAlign": "right", "textBaseline": "middle", "textDx": -12, "textDy": 0+1, "textFontSize": 13, "textColor": "Blue"


} , { "lat": 51.467269, "lon": -0.4233598, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/4/41/Underground.svg/14px-Underground.svg.png", "height": 14, "width": 14, "text": "Hatton Cross", "textAlign": "left", "textBaseline": "middle", "textDx": 9, "textDy": -6+1, "textFontSize": 13, "textColor": "Blue"


}







     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>


With five terminals, مطار لندن هيثرو, is the busiest airport in Europe.
London's Heathrow Airport
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":360, "height": 300, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "51.46534"} },
   {"name":"imgLon", "init": {"expr": "-0.44542"} },
   {"name":"imgZoom", "init": {"expr": "12"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "1"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   

{ "lat": 51.46534,

    "lon": -0.44542, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": -36, 
    "offsetY": 140, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "2km" }

, { "lat": 51.471867, "lon": -0.456726, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Airplane_silhouette.svg/20px-Airplane_silhouette.svg.png", "height": 20, "width": 20, "text": "Terminals 1 & 3", "textAlign": "center", "textBaseline": "bottom", "textDx": , "textDy": خطأ في التعبير: معامل مفقود للعامل +., "textFontSize": 13, "textColor": "Blue"


} , { "lat": 51.470156, "lon": -0.448497, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Airplane_silhouette.svg/20px-Airplane_silhouette.svg.png", "height": 20, "width": 20, "text": "Terminal 2", "textAlign": "center", "textBaseline": "top", "textDx": , "textDy": 12, "textFontSize": 13, "textColor": "Blue"


} , { "lat": 51.471948, "lon": -0.487883, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Airplane_silhouette.svg/20px-Airplane_silhouette.svg.png", "height": 20, "width": 20, "text": "Terminal 5", "textAlign": "center", "textBaseline": "top", "textDx": , "textDy": 12, "textFontSize": 13, "textColor": "Blue"


} , { "lat": 51.459409, "lon": -0.446459, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Airplane_silhouette.svg/20px-Airplane_silhouette.svg.png", "height": 20, "width": 20, "text": "Terminal 4", "textAlign": "right", "textBaseline": "middle", "textDx": -12, "textDy": 0+1, "textFontSize": 13, "textColor": "Blue"


} , { "lat": 51.467269, "lon": -0.4233598, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/4/41/Underground.svg/14px-Underground.svg.png", "height": 14, "width": 14, "text": "Hatton Cross", "textAlign": "left", "textBaseline": "middle", "textDx": 9, "textDy": -6+1, "textFontSize": 13, "textColor": "Blue"


}







     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>


With five terminals, مطار لندن هيثرو, is the busiest airport in Europe.

Test 4

مقارنة جنبًا إلى جنب
{{OSM Location map}}{{OSM Location map/ملعب}}
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":600, "height": 250, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "53.394"} },
   {"name":"imgLon", "init": {"expr": "-4.444"} },
   {"name":"imgZoom", "init": {"expr": "14"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "0"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   { 
    "lat": 53.394, 
    "lon": -4.444, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/7/75/White_square.gif", 
    "width": 72, 
    "height": 92, 
    "offsetX": 264, 
    "offsetY": 79 
   }, 
   {
    "lat": 53.394, 
    "lon": -4.444, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Wales_relief_location_map.jpg/70px-Wales_relief_location_map.jpg", 
    "width": 70, 
    "height": 90, 
    "offsetX": 265, 
    "offsetY": 80 
   }, 

{

    "lat": 53.394, 
    "lon": -4.444, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/6px-Red_pog.svg.png", 
    "width": 6, "offsetX": 255, 
    "offsetY": 39 
   },

{ "lat": 53.394,

    "lon": -4.444, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": 198, 
    "offsetY": 115, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "500m" }

, { "lat": 53.3964, "lon": -4.4531, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/6px-Red_pog.svg.png", "height": 6, "width": 6, "text": "Baron Hill Maen Hir", "textAlign": "left", "textBaseline": "middle", "textDx": 5, "textDy": 0+1, "textFontSize": 11


} , { "lat": 53.3933, "lon": -4.4306, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "Pen-y-Morwydd Barrow", "textAlign": "center", "textBaseline": "bottom", "textDx": 0, "textDy": -7, "textFontSize": 10


} , { "lat": 53.3966, "lon": -4.46204, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "Llanfechell Triangle", "textAlign": "center", "textBaseline": "bottom", "textDx": 0, "textDy": -7, "textFontSize": 10


} , { "lat": 53.3915, "lon": -4.4302, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/15px-Red_pog.svg.png", "height": 15, "width": 15, "text": "Llifad enclosure", "textAlign": "right", "textBaseline": "middle", "textDx": -9, "textDy": 0+1, "textFontSize": 10


}







     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>

Scheduled monuments around لانفيتشيل (أنغلزي), أنغلزي
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":600, "height": 250, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "53.394"} },
   {"name":"imgLon", "init": {"expr": "-4.444"} },
   {"name":"imgZoom", "init": {"expr": "14"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "0"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   { 
    "lat": 53.394, 
    "lon": -4.444, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/7/75/White_square.gif", 
    "width": 72, 
    "height": 92, 
    "offsetX": 264, 
    "offsetY": 79 
   }, 
   {
    "lat": 53.394, 
    "lon": -4.444, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Wales_relief_location_map.jpg/70px-Wales_relief_location_map.jpg", 
    "width": 70, 
    "height": 90, 
    "offsetX": 265, 
    "offsetY": 80 
   }, 

{

    "lat": 53.394, 
    "lon": -4.444, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/6px-Red_pog.svg.png", 
    "width": 6, "offsetX": 255, 
    "offsetY": 39 
   },

{ "lat": 53.394,

    "lon": -4.444, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": 198, 
    "offsetY": 115, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "500m" }

, { "lat": 53.3964, "lon": -4.4531, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/6px-Red_pog.svg.png", "height": 6, "width": 6, "text": "Baron Hill Maen Hir", "textAlign": "left", "textBaseline": "middle", "textDx": 5, "textDy": 0+1, "textFontSize": 11


} , { "lat": 53.3933, "lon": -4.4306, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "Pen-y-Morwydd Barrow", "textAlign": "center", "textBaseline": "bottom", "textDx": , "textDy": خطأ في التعبير: معامل مفقود للعامل +., "textFontSize": 10


} , { "lat": 53.3966, "lon": -4.46204, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "Llanfechell Triangle", "textAlign": "center", "textBaseline": "bottom", "textDx": , "textDy": خطأ في التعبير: معامل مفقود للعامل +., "textFontSize": 10


} , { "lat": 53.3915, "lon": -4.4302, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/15px-Red_pog.svg.png", "height": 15, "width": 15, "text": "Llifad enclosure", "textAlign": "right", "textBaseline": "middle", "textDx": -9, "textDy": 0+1, "textFontSize": 10


}







     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>

Scheduled monuments around لانفيتشيل (أنغلزي), أنغلزي
مقارنة جنبًا إلى جنب
{{OSM Location map}}{{OSM Location map/ملعب}}
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":600, "height": 250, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "53.394"} },
   {"name":"imgLon", "init": {"expr": "-4.444"} },
   {"name":"imgZoom", "init": {"expr": "14"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "0"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   { 
    "lat": 53.394, 
    "lon": -4.444, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/7/75/White_square.gif", 
    "width": 72, 
    "height": 92, 
    "offsetX": 264, 
    "offsetY": 79 
   }, 
   {
    "lat": 53.394, 
    "lon": -4.444, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Wales_relief_location_map.jpg/70px-Wales_relief_location_map.jpg", 
    "width": 70, 
    "height": 90, 
    "offsetX": 265, 
    "offsetY": 80 
   }, 

{

    "lat": 53.394, 
    "lon": -4.444, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/6px-Red_pog.svg.png", 
    "width": 6, "offsetX": 255, 
    "offsetY": 39 
   },

{ "lat": 53.394,

    "lon": -4.444, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": 198, 
    "offsetY": 115, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "500m" }

, { "lat": 53.3964, "lon": -4.4531, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "Baron Hill Maen Hir", "textAlign": "left", "textBaseline": "middle", "textDx": 7, "textDy": 0+1, "textFontSize": 11


} , { "lat": 53.3933, "lon": -4.4306, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "Pen-y-Morwydd Barrow", "textAlign": "right", "textBaseline": "middle", "textDx": -7, "textDy": 0+1, "textFontSize": 10


} , { "lat": 53.3966, "lon": -4.46204, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "Llanfechell Triangle", "textAlign": "center", "textBaseline": "bottom", "textDx": 35, "textDy": -7, "textFontSize": 10


} , { "lat": 53.3915, "lon": -4.4302, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "Llifad enclosure", "textAlign": "right", "textBaseline": "middle", "textDx": -7, "textDy": 0+1, "textFontSize": 10


}







     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>

Scheduled monuments around لانفيتشيل (أنغلزي), أنغلزي
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":600, "height": 250, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "53.394"} },
   {"name":"imgLon", "init": {"expr": "-4.444"} },
   {"name":"imgZoom", "init": {"expr": "14"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "0"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   { 
    "lat": 53.394, 
    "lon": -4.444, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/7/75/White_square.gif", 
    "width": 72, 
    "height": 92, 
    "offsetX": 264, 
    "offsetY": 79 
   }, 
   {
    "lat": 53.394, 
    "lon": -4.444, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Wales_relief_location_map.jpg/70px-Wales_relief_location_map.jpg", 
    "width": 70, 
    "height": 90, 
    "offsetX": 265, 
    "offsetY": 80 
   }, 

{

    "lat": 53.394, 
    "lon": -4.444, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/6px-Red_pog.svg.png", 
    "width": 6, "offsetX": 255, 
    "offsetY": 39 
   },

{ "lat": 53.394,

    "lon": -4.444, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": 198, 
    "offsetY": 115, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "500m" }

, { "lat": 53.3964, "lon": -4.4531, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "Baron Hill Maen Hir", "textAlign": "left", "textBaseline": "middle", "textDx": 7, "textDy": 0+1, "textFontSize": 11


} , { "lat": 53.3933, "lon": -4.4306, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "Pen-y-Morwydd Barrow", "textAlign": "right", "textBaseline": "middle", "textDx": -7, "textDy": 0+1, "textFontSize": 10


} , { "lat": 53.3966, "lon": -4.46204, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "Llanfechell Triangle", "textAlign": "center", "textBaseline": "bottom", "textDx": 35, "textDy": خطأ في التعبير: معامل مفقود للعامل +., "textFontSize": 10


} , { "lat": 53.3915, "lon": -4.4302, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Red_pog.svg/10px-Red_pog.svg.png", "height": 10, "width": 10, "text": "Llifad enclosure", "textAlign": "right", "textBaseline": "middle", "textDx": -7, "textDy": 0+1, "textFontSize": 10


}







     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>

Scheduled monuments around لانفيتشيل (أنغلزي), أنغلزي

Test 5

مقارنة جنبًا إلى جنب
{{OSM Location map}}{{OSM Location map/ملعب}}
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":290, "height": 340, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "52"} },
   {"name":"imgLon", "init": {"expr": "-4.810"} },
   {"name":"imgZoom", "init": {"expr": "11"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "0"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   

{ "lat": 52,

    "lon": -4.810, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": 108, 
    "offsetY": 160, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "3km" }

, { "lat": 51.9990, "lon": -4.7700, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/14px-Archaeological_site_icon_%28red%29.svg.png", "height": 14, "width": 14, "text": "Pentre Ifan", "textAlign": "right", "textBaseline": "middle", "textDx": -9, "textDy": 0+1, "textFontSize": 15, "textColor": "black"


} , { "lat": 52.0545, "lon": -4.7717, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/9px-Archaeological_site_icon_%28red%29.svg.png", "height": 9, "width": 9, "text": "Llech-y-Tribedd dolmen", "textAlign": "right", "textBaseline": "middle", "textDx": -6, "textDy": 0+1, "textFontSize": 10, "textColor": "black"


} , { "lat": 52.0186, "lon": -4.8282, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/9px-Archaeological_site_icon_%28red%29.svg.png", "height": 9, "width": 9, "text": "Carreg Coetan Arthur dolmen", "textAlign": "center", "textBaseline": "bottom", "textDx": -38, "textDy": -6, "textFontSize": 10, "textColor": "black"


} , { "lat": 51.9409, "lon": -4.823, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/9px-Archaeological_site_icon_%28red%29.svg.png", "height": 9, "width": 9, "text": "Banc Du Neolithic enclosure", "textAlign": "center", "textBaseline": "bottom", "textDx": 0, "textDy": -6, "textFontSize": 10, "textColor": "black"


} , { "lat": 51.9775, "lon": -4.7563, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/9px-Archaeological_site_icon_%28red%29.svg.png", "height": 9, "width": 9, "text": "Bedd yr Afanc Burial Chamber", "textAlign": "center", "textBaseline": "bottom", "textDx": 0, "textDy": -6, "textFontSize": 10, "textColor": "black"


} , { "lat": 51.9685, "lon": -4.7945, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/9px-Archaeological_site_icon_%28red%29.svg.png", "height": 9, "width": 9, "text": "Standing Stones", "textAlign": "left", "textBaseline": "middle", "textDx": 6, "textDy": 0+1, "textFontSize": 10, "textColor": "black"


} , { "lat": 52.0478, "lon": -4.7982, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/9px-Archaeological_site_icon_%28red%29.svg.png", "height": 9, "width": 9, "text": "Trellyffaint dolmen", "textAlign": "left", "textBaseline": "middle", "textDx": 6, "textDy": 0+1, "textFontSize": 10, "textColor": "black"


} , { "lat": 52.0137, "lon": -4.8627, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/9px-Archaeological_site_icon_%28red%29.svg.png", "height": 9, "width": 9, "text": "Cerig-y-Gof chambered tomb", "textAlign": "center", "textBaseline": "top", "textDx": 15, "textDy": 6, "textFontSize": 10, "textColor": "black"


} , { "lat": 51.9597, "lon": -4.7223, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/9px-Archaeological_site_icon_%28red%29.svg.png", "height": 9, "width": 9, "text": "Bedd Arthur stone circle", "textAlign": "right", "textBaseline": "middle", "textDx": -6, "textDy": 0+1, "textFontSize": 10, "textColor": "black"


}





     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>

Pentre Ifan and other nearby Neolithic sites
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2,"lang": "ar", "width":290, "height": 340, "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "52"} },
   {"name":"imgLon", "init": {"expr": "-4.810"} },
   {"name":"imgZoom", "init": {"expr": "11"} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "0"} },
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [   

{ "lat": 52,

    "lon": -4.810, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": 108, 
    "offsetY": 160, 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "3km" }

, { "lat": 51.9990, "lon": -4.7700, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/14px-Archaeological_site_icon_%28red%29.svg.png", "height": 14, "width": 14, "text": "Pentre Ifan", "textAlign": "right", "textBaseline": "middle", "textDx": -9, "textDy": 0+1, "textFontSize": 15, "textColor": "black"


} , { "lat": 52.0545, "lon": -4.7717, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/9px-Archaeological_site_icon_%28red%29.svg.png", "height": 9, "width": 9, "text": "Llech-y-Tribedd dolmen", "textAlign": "right", "textBaseline": "middle", "textDx": -6, "textDy": 0+1, "textFontSize": 10, "textColor": "black"


} , { "lat": 52.0186, "lon": -4.8282, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/9px-Archaeological_site_icon_%28red%29.svg.png", "height": 9, "width": 9, "text": "Carreg Coetan Arthur dolmen", "textAlign": "center", "textBaseline": "bottom", "textDx": -38, "textDy": خطأ في التعبير: معامل مفقود للعامل +., "textFontSize": 10, "textColor": "black"


} , { "lat": 51.9409, "lon": -4.823, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/9px-Archaeological_site_icon_%28red%29.svg.png", "height": 9, "width": 9, "text": "Banc Du Neolithic enclosure", "textAlign": "center", "textBaseline": "bottom", "textDx": , "textDy": خطأ في التعبير: معامل مفقود للعامل +., "textFontSize": 10, "textColor": "black"


} , { "lat": 51.9775, "lon": -4.7563, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/9px-Archaeological_site_icon_%28red%29.svg.png", "height": 9, "width": 9, "text": "Bedd yr Afanc Burial Chamber", "textAlign": "center", "textBaseline": "bottom", "textDx": , "textDy": خطأ في التعبير: معامل مفقود للعامل +., "textFontSize": 10, "textColor": "black"


} , { "lat": 51.9685, "lon": -4.7945, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/9px-Archaeological_site_icon_%28red%29.svg.png", "height": 9, "width": 9, "text": "Standing Stones", "textAlign": "left", "textBaseline": "middle", "textDx": 6, "textDy": 0+1, "textFontSize": 10, "textColor": "black"


} , { "lat": 52.0478, "lon": -4.7982, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/9px-Archaeological_site_icon_%28red%29.svg.png", "height": 9, "width": 9, "text": "Trellyffaint dolmen", "textAlign": "left", "textBaseline": "middle", "textDx": 6, "textDy": 0+1, "textFontSize": 10, "textColor": "black"


} , { "lat": 52.0137, "lon": -4.8627, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/9px-Archaeological_site_icon_%28red%29.svg.png", "height": 9, "width": 9, "text": "Cerig-y-Gof chambered tomb", "textAlign": "center", "textBaseline": "top", "textDx": 15, "textDy": 6, "textFontSize": 10, "textColor": "black"


} , { "lat": 51.9597, "lon": -4.7223, "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Archaeological_site_icon_%28red%29.svg/9px-Archaeological_site_icon_%28red%29.svg.png", "height": 9, "width": 9, "text": "Bedd Arthur stone circle", "textAlign": "right", "textBaseline": "middle", "textDx": -6, "textDy": 0+1, "textFontSize": 10, "textColor": "black"


}





     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" },
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‏' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6},
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>

Pentre Ifan and other nearby Neolithic sites