Plantilia:Graph:Street map with marks

Manipud iti Wikipedia, ti nawaya nga ensiklopedia
Darsen a mapan iti pagdaliasatan Darsen a mapan agbiruk
Dokumentasion ti plantilia[kitaen] [urnosen] [pakasaritaan] [purgaen]

Panagusar[urnosen ti taudan]

Kodigo Resulta
Simple a mapa nga agraman iti bugbugtong a pangmarka, naiduma a kadakkel, ken awan iti bassit a mapa
{{Graph:Street map with marks | width=400 | height=150 | lat=37.8 | lon=-122.4 | zoom=5 | minimap=false |

  { "lat": 37.8, "lon": -122.4 }

}}
Dua a pangmarka nga agraman kadagiti eiketa - maysa ket iti sukog ti diamante, maysa ket agus-usar iti ladawan manipud iti Commons
Ti etiketa ti teksto ket ket mabalin a maiduma kadagiti amin a parametro ti marka ti teksto ti Vega babaen ti panagbaliw ti "text" iti naganda
{{Graph:Street map with marks | lat=40.816667 | lon=14.433333 | zoom=6 |

{"lat": 40.816667, "lon": 14.433333, "img": "wikirawupload:{{filepath:Volcano red 32x32.svg|32}}", "width": 16, "height": 16, "offsetY": -10, "text": "Bantay Vesubiu", "textFontWeight": "bold", "textFontSize": 16, "textColor": "#2A4B8D"},

{"lat": 40.948333, "lon": 15.635556, "img": "wikirawupload:{{filepath:Volcano red 32x32.svg|32}}", "width": 16, "height": 16,  "offsetY": -20, "text": "Bantay Vulture", "textFontWeight": "bold", "textFontSize": 16, "textColor": "#2A4B8D"}

}}
Ipakita amin dagiti lugar ti tawid ti Armenia, babaen ti panagusisa manipud iti Wikidata
Ti resulta ti panagusisa ket nasken nga adaan kadagiti agpada a batong (dagiti pagikabilan) kas dagiti sabali a pagarigan (text, img, ...), malaksid kadagiti nagsasabtan a nasken a masublida kas batong ti coord
{{Graph:Street map with marks | lat=40.347 | lon=47.260 | zoom=6 | colorScaleField=type | wdqs=
SELECT (SAMPLE(?coord) as ?coord) (SAMPLE(?type) as ?type)
WHERE {
  ?item wdt:P3170 ?heritageId .
  ?item wdt:P625 ?coord .
  ?item wdt:P31 ?type .
}
GROUP BY ?item
}}

Kitaen ti usisa ti taudan ti Wikidata.

{{Graph:Street map with marks | lat=-33.8688 | lon=151.2093 | zoom=10 |
{
  "lat": -33.8688,
  "lon": 151.2093,
  "img": "wikirawupload:{{filepath:Opera_House_and_ferry._Sydney.jpg|48}}",
  "width": 48,
  "height": 36,
  "text": "Sydney",
  "textFontWeight": "bold",
  "textFontSize": 20,
  "textColor": "#00f",
  "textAlign": "right",
  "textDx": -30
}
}}

Ti parametro ti datos ti plantilia ket nasken a listaan a naisina iti kaw-it dagiti banag ti "JSON". Ti tunggal maysa a banag ket mangrugi iti "{", addan iti listaan a naisina iti kaw-it kadagiti paris ti tekla-pateg, ken agpatingga iti "}". Ti tekla ket mabalin a maysa kadagitisumaganad a pateg (maminsan laeng nga usaren iti tunggal maysa a banag):

Dagiti naaramid a sukog a pangmarka
shape "circle" (kasisigud), "square", "cross", "diamond", "triangle-up", "triangle-down" (dagiti dokumentasion)
color maris a panagpunno iti sukog, a kas ti "#ff0000" (nalabbasit - kasisigud)
strokeColor paraigid a maris ti sukog
size kadakkel ti sukog (numero)
Dagiti etiketa ti teksto (kitaen ti adu pay a pakaammo)
text Teksto ti etiketa
textAlign Horisontal apannakailinia ti etiketa a relatibo iti pangmarka - "left", "right", "center". Babaen ti kasisigud, left para kadagiti LTR, right para kadagiti RTL a pagsasao.
textBaseline Bertikal a pannakailinia: "middle" (kasisigud), "top", "bottom"
textColor Maris ti teksto ti etiketa, a kas ti "#ff0000" (nalabbasit)
textDx, textDy Horisontal ken bertikal a kaadayo manipud iti pangmarka
angle Mangladawan ti teksto iti maysa nga anggulo
radius/theta Rayos a pannakaipuesto ti etiketa a relatibo iti pangmarka
font, fontSize, fontWeight, fontStyle Nagam ti kita ti letra, kadakkel, kapuskol, ken estilo
Dagiti pangmarka ti ladawan
img URL ti maysa a ladawan, a kas ti wikirawupload:{{filepath:Volcano red 32x32.svg|32}}
height, width Kadakkel ti ladawan
offsetX, offsetY Iyalis ti pannakaipatengnga ti ladawan iti mapa

Mangipakita ti maysa a ladawan ti mapa, ken mangiladawan kadagiti inaganan ti agar-aramat a ladawan/ikono iti ngatona nga agusar kadagiti nagsasabtan ti latitud/longitud.

Dagiti parametro ti plantilia

ParametroDeskripsionKitaKasasaad
datos1

Listaan a naisina iti kaw-it dagitibanag ti JSON a mangipalawag no ania a datos ti mailadawan iti mapa

Kuerdasmaisingasing
Kaakabawidth

Dagup a kaakaba ti grapo

Numeropagpilian
Katayagheight

Dagup a katayag ti grapo

Kasisigud
Kagudua ti kaakaba
Numeropagpilian
Paddingpadding

awan ti deskripsion

Numeropagpilian
Latlat

Latitud titengnga timapa

Numeropagpilian
Lonlon

Longitud ti tengnga ti mapa

Numeropagpilian
Zoomzoom

Agpang ti panangipadakkel ti mapa (0..18)

Numeropagpilian
Wdqswdqs

Ti maysa a pagpilian a panagusisa iti Wikidata a mausar imbes nga iti datos - ti panagusisa ket mangpataud iti listaan dagiti banag a kas iti datos, ngemnasken nga aglaon iti pagikabilan ti "coord" iti lokasion

Kuerdaspagpilian
ColorScaleFieldcolorScaleField

No maited, daytoy a pagikabilan ti datos ket mausarto iti panagaramid kadagiti timbukel iti nadumaduma a maris, maysa a maris iti tunggal maysa a naisangayan a pateg iti daytoy a pagikabilan

Kuerdaspagpilian
Minimapminimap

No maisaad, ti 0 wenno false ket kanayonto a mangilemmeng ti mapa, ken ti 1 wenno true ket kanayonto a mangipakita. Siguraduen a ti mapa makaanay a dakekl tapno makairaman ti bassit a mapa. Babaen ti kasisgud, maipakitanto ti mapa iti agpang a kadakkel iti 5+ no ti mapa ket makaanayen a dakkel

Booleanpagpilian

Kitaen pay[urnosen ti taudan]

  • Dagiti baw-ing − no adda, dagiti sabali a nagan daytoy a plantilia a mabalin a mausar
<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, "width":400, "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": "40.347"} },
    {"name":"imgLon", "init": {"expr": "47.260"} },
    {"name":"imgZoom", "init": {"expr": "6"} },
    {"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": "imgZoom>4 && imgWidth>200 && imgHeight>110"} },
  ],
  "data": [
    {
      "name": "data",
// Otherwise use the first unnamed argument for source values
      "values": [ 
        {"lat":65.6, "lon":-168.1, "color":"#f00", "size": 10},
        {"lat":90, "lon":-180, "shape":"cross", "color":"#f00", "size": 500},
        {"lat":-90, "lon":180, "shape":"cross", "color":"#f00", "size": 500},
        {"lat":0, "lon":-180, "shape":"cross", "color":"#f00", "size": 500},
        {"lat":0, "lon":180, "shape":"cross", "color":"#f00", "size": 500},
        {"lat":20, "lon":-120, "color":"#0f0"},
        {"lat":40, "lon":-120, "shape":"diamond", "color":"#0f0", "size": 80, "text": "Some cool text", "textColor": "#0ff", "textFontSize": 20, "textBaseline": "middle"},
        {"lat":-10, "lon":20, "img":"Volcano red 32x32.svg", "offsetY":-10},
        {"lat":0, "lon":0, "img":"Volcano red 32x32.svg", "width":25, "height": 25, "offsetY":-10, "text": "Big volcano", "textFontWeight": "bold", "textFontSize": 20, "textColor": "#fff"},
        {"lat":37.774755, "lon":-122.454688, "color":"#f00", "size": 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://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/Earthmap1000x500compac.jpg/180px-Earthmap1000x500compac.jpg"},
          "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>