Помощь:Расширение:Картограф

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Help:Extension:Kartographer and the translation is 100% complete.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Ripoarisch • ‎Tiếng Việt • ‎asturianu • ‎español • ‎français • ‎galego • ‎italiano • ‎magyar • ‎português do Brasil • ‎suomi • ‎svenska • ‎български • ‎македонски • ‎русский • ‎עברית • ‎العربية • ‎سنڌي • ‎অসমীয়া • ‎中文 • ‎日本語 • ‎한국어
PD Внимание: Когда вы редактируете эту страницу, вы соглашаетесь на передачу своего вклада по лицензии CC0. Узнать об этом подробнее можно на странице справки.
PD

Расширение Kartographer позволяет вставлять интерактивные карты на страницах проектов Викимедиа. На этой странице описано, как использовать теги расширения Kartographer: <mapframe> для вставки интерактивных карт в викистраницы и <maplink> для создания ссылок на такие карты.

С чего начать

Downtown San Francisco

Этот код вставляет простую интерактивную карту, такую, как карта "Центр Сан-Франциско (Downtown San Francisco)" в этом разделе.

  • На Викигиде и test2wiki генерируется интерактивная карта. Одиночное нажатие открывает окошко карты, а двойное (либо нажатие на иконку в правом углу) — полноэкранную карту, которая также интерактивна.
  • В Википедии и других проектах Викимедиа, генерируется статичная карта. Одиночное нажатие открывает полноэкранную карту, которая интерактивна.
<mapframe text="Downtown [[wikipedia:San Francisco|San Francisco]]" width=250 height=250 zoom=13 latitude=37.8013 longitude=-122.3988 />

Параметр align ("выровнять") позволяет задать выравнивание слева, справа или по центру. Параметр zoom ("изменение масштаба") может принимать значения от 0 до 19, где ноль это минимальный масштаб, а 19 - максимальный.

Также карты можно добавлять в визуальном редакторе (VisualEditor), см. ниже.

Если на карте есть заданные объекты (features), как описано ниже, ее масштаб (zoom), широту (latitude) и долготу (longitude) не требуется специально указывать, так как карта автоматически будет сгенерирована со всеми требуемыми объектами на ней. При этом указывать ширину и высоту карты всё равно всегда необходимо.


Использование <mapframe>

San Francisco museums

Содержимое <mapframe> должно быть либо пустым, либо содержать валидный код GeoJSON с оформлением (styling), который предоставляется каким-либо редактором GeoJSON. Расширение поддерживает спецификацию simplestyle со значками Maki icons (лицензия CC-0). На странице Help:Extension:Kartographer/Icons содержится полный список поддерживаемых иконок.

<mapframe text="San Francisco museums" width=350 height=350 zoom=13 latitude=37.8013 longitude=-122.3988>
{
  "type": "Feature",
  "geometry": { "type": "Point", "coordinates": [-122.3988, 37.8013] },
  "properties": {
    "title": "[[wikipedia:Exploratorium|Exploratorium]]",
    "description": "[[File:Giant_Mirror_at_the_Exploratorium.jpeg|200px]]",
    "marker-symbol": "museum",
    "marker-size": "large",
    "marker-color": "0050d0"
  }
}
</mapframe>

Рамки (Frames)

Безрамочные карты годятся для вставки в качестве части шаблона, карты с рамкой же больше подходят для вставки напрямую на страницу вручную или же с использованием визуального редактора.

  • Чтобы вставить карту без рамки, добавьте параметр "frameless" (безрамочная): <mapframe frameless ...>
  • Чтобы добавить подпись названия (caption) карты (и объектов на ней), используйте параметр text="...".
Добавление подписи автоматически включает рамку, даже если она отключена параметром frameless.


<maplink>

Изменение <mapframe> на <maplink> создаёт ссылку на полноэкранную карту:

37°48′37″N 122°23′58″W

<maplink zoom="13" latitude="37.8103" longitude="-122.3995" />

<maplink> также поддерживает дополнительный параметр "text", который используется для задания текста ссылки вместо координат:

click me

<maplink text="click me" zoom="13" latitude="37.8103" longitude="-122.3995" />

Добавьте дополнительные классы к <maplink> с помощью параметра class. Например, no-icon, чтобы скрыть маркер, стоящий перед ссылкой.

click me

<maplink class="no-icon" text="click me" zoom="13" latitude="37.8103" longitude="-122.3995" />

Тег <maplink> может содержать тот же geojson, что и тег <mapframe>.

<maplink> и автосчётчики

Several groups of automatic counters

<maplink> создаёт ссылку, по клику на которую открывается полноэкранная карта. Текст ссылки можно задать с помощью атрибута text. Если этот атрибут не задан, отобразятся координаты места (пример: 12°18′0″N 45°36′0″E). Если карта использует GeoJSON, то параметр символа маркера marker-symbol может принимать отрицательные значения - числовое ‑number или буквенное ‑letter. При таком выборе каждое отрицательное числовое значение ‑number будет заменено инкрементальным счётчиком (1, 2, 3...), а буквенное ‑letter аналогично буквенным счётчиком (A...Z).

Если GeoJSON имеет более одного счетчика, то в качестве текста ссылки отобразится значение первого из них. По желанию редакторы могут добавлять поясняющие слова (suffixes) без пробела к слову number для одновременного отображения на одной странице разных счетчиков для разных типов объектов. Тем самым с помощью записи вида ‑number‑museum ("музей номер") музеи получат иной счетчик, чем бары, которые можно пометить отдельным счетчиком ‑number‑bar.

Имеет смысл помечать отдельным цветом каждую группу отмеченных счетчиками объектов. Все данные, добавляемые через <maplink>, также отобразятся на всех картах, вставленных с помощью <mapframe>, если не использован атрибут group.

{{see
| name=Exploratorium | url=http://www.exploratorium.edu/
| lat=37.8013 | long=-122.3988
| content=A great museum
}}

может быть расширен до

<maplink zoom=13 latitude=37.8013 longitude=-122.3988>
{
  "type": "Feature",
  "geometry": { "type": "Point", "coordinates": [-122.3988, 37.8013] },
  "properties": {
    "title": "Exploratorium",
    "marker-color": "228b22",
    "marker-symbol": "-number-see"
  }
}
</maplink>

Атрибуты zoom, latitude и longitude задают местоположение всплывающей карты. Используйте text для ввода текста ссылки (может быть любым валидным элементом разметки вики-текста). Используйте group, чтобы добавить содержимое данного тэга в именованную группу (см. ниже).

Маркеры

Сложная карта - маркер, ссылка на статью и изображение

На карты можно добавлять маркеры для обозначения какого-либо места. Эти элементы добавляются с помощью формата JSON. Help:Extension:Kartographer/Icons содержит полный список иконок, которые можно использовать в качестве значков для маркеров.

Эти примеры используют maplink. Форматирование mapframe такое же.
<maplink text="Colorado State Capital with marker icon" latitude="39.73939" longitude="-104.98491" zoom="17">{"type": "Feature", "properties": { "marker-symbol": "", "marker-color": "46ea5f", "marker-size": "medium"}, "geometry": { "type": "Point", "coordinates": [-104.98485267162323, 39.73928364167763] }}</maplink>

Результат: Colorado State Capital with marker icon

Маркеры также могут содержать информацию, например, изображения или ссылки на статьи.

<maplink text="Colorado State Capital with a town hall marker, article link and image" latitude="39.73939" longitude="-104.98491" zoom="17">
{
      "type": "Feature",
      "properties": { "marker-symbol": "town-hall", "marker-color": "46ea5f", "marker-size": "medium", "title": "[[wikipedia:Colorado_State_Capitol|Colorado State Capital]]", "description": "[[File:Coloradocapitolhill2.JPG|150px]]"},
      "geometry": { "type": "Point", "coordinates": [-104.98485267162323, 39.73928364167763] }
}
</maplink>

Результат (нажмите на маркер чтобы увидеть его содержимое) Colorado State Capital with a town hall marker, article link and image

Можно использовать идентификаторы Wikidata ID для данных с OpenStreetMap (OSM), чтобы обозначить границы графическим выделением с помощью сервиса контуров географических объектов geoshape.

<maplink text="State of Colorado, outlined" zoom=7 > { "type": "ExternalData", "service": "geoshape", "ids": "Q1261" } </maplink>

Результат: State of Colorado, outlined

Чтобы залить (замаскировать) всю карту кроме какой-либо указанной вами зоны другим цветом, можно использовать идентификаторы таких зон с сайта Викиданных - Wikidata ID.

<maplink text="State of Colorado, highlighted" zoom=7> { "type": "ExternalData", "service": "geoshape", "ids": "Q1261", "service": "geomask" } </maplink>

Результат: State of Colorado, highlighted

Маркеры могут быть пронумерованы.

<maplink text="Colorado State Capital with a number marker" latitude="39.73939" longitude="-104.98491" zoom="17">{ "type": "Feature", "properties": {  "marker-color": "228b22", "marker-symbol": "-number"}, "geometry": { "type": "Point", "coordinates": [-104.98485267162323, 39.73928364167763] }}</maplink>

Результат: Colorado State Capital with a number marker

Маркеры могут использовать буквы.

<maplink text="Colorado State Capital with a letter marker" latitude="39.73939" longitude="-104.98491" zoom="17">{ "type": "Feature", "properties": {  "marker-color": "508e33", "marker-symbol": "-letter"}, "geometry": { "type": "Point", "coordinates": [-104.98485267162323, 39.73928364167763] }}</maplink>

Результат: Colorado State Capital with a letter marker

Несколько маркеров разных размеров на карту можно добавить с помощью коллекций объектов ("feature collection").

<maplink text="Denver Amusements" latitude="39.74956567318853" longitude="-105.01247406005858" zoom="14"> {"type": "FeatureCollection", "features":  [{ "type": "Feature", "geometry": { "type": "Point", "coordinates": [-105.00768899917603, 39.74859230437501] }, "properties": { "title": "[[wikipedia:Pepsi_Center|Pepsi Center]]", "marker-color": "420617", "marker-symbol": "-letter-see", "marker-size":"small"} }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [-105.01238822937012, 39.7526011757416] }, "properties": { "title": "[[wikipedia:Downtown_Aquarium%2C_Denver|Downtown Aquarium Denver]]", "marker-color": "508e33", "marker-symbol": "-letter-see","marker-size":"medium", "description": "[[File:Denver-DTA.jpg|150px]]" } }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [-105.01247406005858, 39.74956567318853] }, "properties": { "title": "[[wikipedia:Confluence_Park|Confluence Park]]", "marker-color": "0d2751", "marker-symbol": "-letter-see", "marker-size":"large" } }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [-105.01646518707275, 39.74656303364532] }, "properties": { "title": "South Platte Bike Trail", "marker-color": "61b9e2", "marker-symbol": "-number-see", "marker-size":"medium" } },]}</maplink>

Результат: Denver Amusements

На карты можно добавлять группы маркеров разного цвета и разных счетчиков.

<maplink text="Add groups of different colored markers and different counters" width="350" height="350" zoom="13" longitude="-122.39902496337889" latitude="37.80151060070086"> {
"type": "FeatureCollection", "features":  [
    { "type": "Feature",
      "properties": {
        "marker-symbol": "-number",
        "marker-color": "302060" },
      "geometry": {
        "type": "Point",
        "coordinates": [ -122.41816520690917, 37.79097260220947 ] }},
    { "type": "Feature",
      "properties": {
        "marker-symbol": "-number",
        "marker-color": "302060"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [ -122.40786552429199, 37.799654055191525 ] }},
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-number",
        "marker-color": "302060"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [ -122.40185737609865, 37.796262984039544 ] }},
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-number",
        "marker-color": "302060"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [ -122.38743782043457, 37.80535070427755 ] }},
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-number",
        "marker-color": "302060"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [ -122.38005638122557, 37.795449103799726 ] }},
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-letter",
        "marker-color": "208020"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [ -122.40941047668457, 37.81850557172186 ] }},
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-letter",
        "marker-color": "208020"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [ -122.40357398986815, 37.81280993744834 ] }},
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-letter",
        "marker-color": "208020"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [ -122.39842414855956, 37.8071138637568 ] }},
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-number-bar",
        "marker-color": "f01080"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [ -122.41181373596191, 37.78595317184089 ] }},
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-number-bar",
        "marker-color": "f01080"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [ -122.39542007446289, 37.787674400057654 ] }},
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-number-bar",
        "marker-color": "f01080"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [ -122.38649368286131, 37.78401144262929 ] }}
  ] }</maplink>

Результат: Add groups of different colored markers and different counters

  • Маркеры на карте могут использовать любой цвет, имеющий RGB-значения (быстрый поиск в интернете по запросу "Цветовой миксер RGB" покажет несколько вариантов).
  • Маркеры могут быть одного из трех размеров: small (маленький), medium (средний) или large (большой).
  • GeoJSON из другого источника можно скопировать (с учетом ограничений со стороны лицензии и авторских прав) и вставить в maplink (например)
  • Если карты создаются на Викигиде, может быть полезно использовать Группы (см. ниже).
  • Чтобы узнать больше о добавлении внешних данных на карты, см. раздел Внешние данные (External data).

Группы

Функция групп доступна только в Викигиде (по просьбе команды Визуального редактора)

Для использования на Викигиде требуется отобразить карту, данные которой указаны в другом месте страницы. Например, может быть несколько туристических объектов, заданных тегами <maplink>, и одна общая карта для их отображения на странице сбоку.

Концепция группирования дает редакторам возможность выводить данные в несколько тэгов <mapframe> и <maplink>.

По умолчанию, данные внутри тэга <mapframe> или <maplink> отображаются только для самого этого тэга и больше нигде не показываются.

Если тэги <mapframe> или <maplink> укажут атрибут group="...", данные в этих тэгах будут помещены в именованную группу вместе со всеми другими данными под тем же именем группы. В результате любые тэги с одинаковым именем группы покажут одни и те же картографические данные, а каждый тэг может в порядке возрастания добавлять данные в группу.

В тэге можно задать также отображение других групп - вне зависимости от его принадлежности к какой-либо группе, если указать параметр show="..." («показать»). Также можно указать несколько названий групп, разделенных запятыми. Название группы может состоять только из строчных английских букв. Такая матрица покажет, какие данные отобразятся для каждого тэга.

<maplink>                               -- shows 1
<maplink group='food'>                  -- shows   2   4       8   10
<maplink group='bar'  show='bar'>       -- shows     3           9
<maplink group='food' show='bar'>       -- shows   2 3 4       8 9 10
<maplink              show='bar'>       -- shows     3   5       9
<maplink              show='food,bar'>  -- shows   2 3 4   6   8 9 10
<mapframe>                              -- shows             7
<mapframe group='food'>                 -- shows   2   4       8   10
<mapframe group='bar'  show='bar'>      -- shows     3           9
<mapframe group='food' show='bar'>      -- shows   2 3 4       8 9 10
<mapframe              show='bar'>      -- shows     3           9    11
<mapframe              show='food,bar'> -- shows   2 3 4       8 9 10    12

Внешние данные (External data)

A geoshape of Alaska

В дополнение к рисованию многоугольников («полигонов») с помощью GeoJSON, предусмотрена возможность также получать контуры хорошо известных географических объектов по их идентификаторам на Викиданных - Wikidata ID при наличии такой отметки в базе данных OpenStreetMap. К примеру, идентификатор Wikidata для Аляски Q797, и мы можем задать отображение ее контура на карте, используя ссылку на «внешние данные» - "external data" reference. Можно указать не один, а несколько идентификаторов, разделив их запятой. Чтобы выделить цветовой маской сами интересующие объекты на карте, используйте сервис контуров географических объектов "geoshape". Чтобы обратить такое выделение и закрасить маской всё остальное на карте, используйте сервис "geomask".

Идентификаторы Wikidata IDs представляют собой довольно новое явление для сообщества OSM. Такие идентификаторы имеет 1,3 миллиона географических объектов. Для добавления их на OpenStreetMap зайдите на https://www.openstreetmap.org/ и добавьте тэг wikidata со значением Q (см. более легкий способ для этого на RU:Key:wikidata в вики OSM). Более подробные инструкции см. в Помощь:Расширение:Картограф/OSM . Эти данные обычно становятся доступными для расширения Картограф в течение 2 дней. Однако по состоянию на апрель 2020г. тэги, добавленные с конца января 2020г., не распознаются Картографом из-за паузы в обновлениях.
<mapframe text="A geoshape of Alaska" width=300 height=300 zoom=3 latitude=64.01 longitude=-152.58>
{
  "type": "ExternalData",
  "service": "geoshape",
  "ids": "Q797"
}
</mapframe>


Получение контуров географических объектов (GeoShapes) посредством запроса к Викиданным (Wikidata Query)

Governors of US states with their party affiliation

Хотя это полезно в случаях простого применения, когда идентификатор на Викиданных (Wikidata ID) хорошо известен, иногда может возникнуть необходимость получить список таких идентификаторов как результат запроса к Викиданным. Запрос на языке SPARQL возвращает список всех штатов США в колонке ID ответа на запрос, и сервис контуров географических объектов (geoshapes service) к каждому штату добавляет его геометрические очертания. Все другие колонки в ответе на SPARQL-запрос становятся значениями в объекте "properties" («свойства»). Колонка "fill" («заливка») меняет окраску изображения территории штата. Колонка "title" показывает, как зовут губернатора штата, а "description" («описание») имеет вики-разметку для отображения названия штата и портрета его губернатора. Для редактирования этого запрос скопируйте параметр запроса после символа "#" на https://query.wikidata.org/#...:

<mapframe latitude="52" longitude="-110" zoom="3" width="500" height="500" text="Governors of US states with their party affiliation">
{
  "type": "ExternalData",
  "service": "geoshape",
  "query": "SELECT ?id ?head (SAMPLE(?img) as ?img_) (min(?partyId) as ?party) (if(?party = '0', '#800000', if(?party = '1', '#000080', '#008000')) as ?fill) (concat('[[wikipedia:', substr(str(?link),31,500),  '{{!}}', ?headLabel, ']]') as ?title) (concat(?stateLabel, '\\n', '[[File:', substr(str(?img_), 52, 500), '{{!}}200px]]') as ?description) WHERE { ?id wdt:P31 wd:Q35657 . ?id wdt:P6 ?head . ?head wdt:P102 ?party . BIND(if(?party = wd:Q29468, '0', if(?party = wd:Q29552, '1', '2')) as ?partyId) SERVICE wikibase:label { bd:serviceParam wikibase:language 'en' . ?head rdfs:label ?headLabel . ?id rdfs:label ?stateLabel . } OPTIONAL { ?head wdt:P18 ?img . } ?link schema:about ?head . ?link schema:isPartOf <https://en.wikipedia.org/> .} GROUP BY ?id ?head ?headLabel ?link ?stateLabel"
}
</mapframe>

Данные для карты, которые можно получить с Викисклада

Дополнительная информация: Help:Map Data
Осторожно! Предупреждение: The map loader does not currently support chained ExternalData calls. If a resource of type ExternalData is fetched that itself relies on ExternalData references, loading will fail. See задача T155927 and задача T193458.

На карте можно отобразить и картографические данные, хранимые на Викискладе (Commons). Например, микрорайоны города Нью-Йорка c:Data:Neighbourhoods/New York City.map:

<mapframe width=300 height=400 zoom=11 latitude=40.7920 longitude=-73.9751>
{
  "type": "ExternalData",
  "service": "page",
  "title": "Neighbourhoods/New York City.map"
}
</mapframe>


Возможность сочетания нескольких типов данных

Caderousse city wall

В одном элементе <mapframe> или <maplink> можно одновременно использовать внешние данные (ExternalData), помеченный географический объект (Feature) и коллекцию объектов (FeatureCollection). Пример - городская стена во французском Кадру́се (Caderousse city wall):

<mapframe text="Caderousse city wall" width="300" height="300" zoom="15" latitude="44.10200" longitude="4.75600">
[
  {
    "type": "ExternalData",
    "service": "geoshape",
    "ids": "Q13518258",
    "properties": {
      "stroke": "#ffb100",
      "stroke-width": 6,
    }
  },
  {
    "type": "Feature",
    "geometry": { "type": "Point", "coordinates": [4.75566, 44.104498] },
    "properties": {
      "title": "Porte de Castellan"
    }
  },
  {
    "type": "Feature",
    "geometry": { "type": "Point", "coordinates": [4.75829, 44.10258] },
    "properties": {
      "title": "Porte Léon Roche"
    }
  }
]
</mapframe>

Картографические данные с Викисклада можно сочетать с другими типами данных (на карте отмечены Центральный парк и остров Рузвельта среди микрорайонов Нью-Йорка):

<mapframe width="300" height="300" zoom="12" latitude="40.782222" longitude="-73.965278">
[
  {
    "type": "ExternalData",
    "service": "page",
    "title": "Neighbourhoods/New York City.map"
  },
  {
    "type": "ExternalData",
    "service": "geoshape",
    "ids": "Q160409",
    "properties": {
      "fill": "#07c63e", "title": "Central Park"
    }
  },
  {
    "type": "Feature",
    "properties": {"title": "Roosevelt Island", "marker-color": "f01080"},
    "geometry": {
      "type": "Point",
      "coordinates": [
        -73.94511222839355,
        40.76734665426719
      ]
    }
  }
]
</mapframe>


Оформление (Styling)

Оформление элементов с идентификаторами Викиданных

Interstate Highway I-696

В отношении внешних данных также можно добавлять стили оформления (styles) и названия (titles), используя ключ properties ("свойства"):

<mapframe text="Interstate Highway I-696" width="300" height="300" latitude="42.4883" longitude="-83.2297" zoom="9">
{
  "type": "ExternalData",
  "service": "geoline",
  "ids": "Q2108",
  "properties": {
    "title": "Highway I-696",
    "description": "[[File:I696-1988.JPG|200px]]",
    "stroke": "#ffb100",
    "stroke-width": 8
  }
}
</mapframe>

Основные ключи оформления следующие: "stroke" (color) ("обводка" (цвет)), "stroke-width" ("ширина обводки"), "stroke-opacity" ("прозрачность обводки"), "fill" (color) ("заливка" (цвет)), "fill-opacity" ("прозрачность заливки").


Пересекающиеся элементы на карте

Элементы карты, которые перекрывают друг друга, отображаются в том порядке, в котором они прописаны в программном коде карты. Например, если карта содержит две пересекающиеся линии, описанная первой линия будет нарисована под линией, параметры которой заданы ниже, после первой. Как это влияет на облик карты, показывают следующие примеры:

<mapframe width="500" height="270" latitude="-24.794" longitude="79.030" zoom="8" align="center">
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {"fill": "#ff0000","fill-opacity": 0.7,"stroke-width": 0},
"geometry": {
 "type": "Polygon",
 "coordinates": [
 [
   [77.926025390625, -25.150257104114733],
   [80.14251708984374, -25.150257104114733],
   [80.14251708984374, -24.43714786161562],
   [77.926025390625, -24.43714786161562],
   [77.926025390625, -25.150257104114733]
 ]
 ]
 }
 },
{
"type": "Feature",
"properties": {"stroke": "#fffa00","stroke-width": 5},
"geometry": {
 "type": "LineString",
 "coordinates": [
   [77.926025390625, -25.150257104114733],
   [80.14251708984374, -24.43714786161562]
 ]
 }
 },
{
"type": "Feature",
"properties": {"stroke": "#000000","stroke-width": 5},
"geometry": {
 "type": "LineString",
 "coordinates": [
   [77.926025390625, -24.43714786161562],
   [80.14251708984374, -25.150257104114733]
 ]
 }
 }
 ]
}
</mapframe>

Программный код карты, представленной выше, включает три элемента, каждый из которых использует функцию GeoJSON "feature" («объект»). Первый объект – это многоугольник ("Polygon") – красный прямоугольник. За ним следуют два объекта "LineString" («линейные последовательности»). Желтая линия (yellow line) задана первой, поэтому она идет под черной линией (black line). Следует отметить, что порядок отображения элементов действует вне зависимости от того, берутся ли необработанные данные GeoJSON, либо используется идентификатор с Викиданных или страница данных с Викисклада.

Приведенная ниже карта меняет порядок по сравнению с предыдущим примером:черная линия задана первой и поэтому оказалась внизу стопки элементов:

Варианты отображения (рендеринга) карты

Следующая таблица оказывает, как карта, полученная из тэга <mapframe>, может быть отформатирована для отображения на вики-страницах. Таблица содержит две колонки: первая показывает интерактивную карту, полученную с помощью тэга <mapframe>, а вторая демонстрирует рендеринг примера изображения (example image) с одинаковыми параметрами отображения.

Опции Отображение карты <mapframe> Отображение изображения
  • Format: frame
  • Alignment: undefined
... text text text
text text text ...
... text text text
Example en.svg
text text text ...
  • Format: frame
  • Alignment: none
Not supported, see задача T157502. ... text text text
Example en.svg
text text text ...
  • Format: frame
  • Alignment: left
... text text text
text text text ...
... text text text
Example en.svg
text text text ...
  • Format: frame
  • Alignment: center
... text text text
text text text ...
... text text text
Example en.svg
text text text ...
  • Format: frame
  • Alignment: right
... text text text
text text text ...
... text text text
Example en.svg
text text text ...
  • Format: frameless
  • Alignment: undefined
... text text text text text text ...

Inconsistent, see задача T157640.
... text text text Example en.svg text text text ...
  • Format: frameless
  • Alignment: none
Not supported, see задача T157502. ... text text text
Example en.svg
text text text ...
  • Format: frameless
  • Alignment: left
... text text text text text text ... ... text text text
Example en.svg
text text text ...
  • Format: frameless
  • Alignment: center
... text text text text text text ... ... text text text
Example en.svg
text text text ...
  • Format: frameless
  • Alignment: right
... text text text text text text ... ... text text text
Example en.svg
text text text ...

Use the width value full in order to make the map take up the full width of the page.

<mapframe width="full" height="200" zoom="13" latitude="37.81032643553478" longitude="-122.39953994750977" align="left"></mapframe>

Языки надписей на картах

Надписи на картах постараются использовать язык той вики, в которой каждая встраиваемая карта будет.отображаться. Если этот язык недоступен, то карта будет использовать запасной язык, как описано.

  1. Поиск значения на требуемом языке
  2. Поиск значения на языке (либо языках), которые специально указаны в качестве запасных языков
  3. Поиск транслитерированного значения
  4. Поиск названия на местном языке
  5. Если никакое значение не обнаруживается, не отображать никакого названия.

Можно указать конкретный язык (language) для отображения, вставив lang=, после которого ставится код нужного языка, например lang="ja" для отображения надписей на японском (Japanese) (если они доступны).

<maplink text="Brussels, Belgium" width="250" height="250" zoom=13 latitude=50.85 longitude=4.35 lang="ja"/>

Результат: Brussels, Belgium

При желании использовать местный (local) язык(language) какой-либо территории можно задать lang=local. Это приведет к отображению надписей на карте на языках изображаемой на данной карте территории (по сути это предпочтение не выводить надписи в международно принятом виде). В данной публикации есть более подробные сведения о том, в каких случаях может возникнуть желание использовать местный язык (lang="local") — и объяснения в целом того, как работают многоязычные данные OpenStreetMap.

Без атрибута lang= географические карты отобразятся на языке той вики, в которой они появятся.

Запасные варианты (fallbacks) отображения языков надписей на географических картах

По умолчанию правила использования резервных языков следуют правилам в MediaWiki. Правила обращения к запасным языкам в отношении картографического проекта хранятся в fallbacks.json, и их можно изменить по сравнению с настройками, заданными в MediaWiki. Отдельные проекты Wikimedia могут запросить изменение этого процесса в Phabricator. Технические подробности можно найти в T192701.

На картах используются картографические данные, включая данные надписей на картах для любых языков, получаемые из картографического проекта с открытым исходным программным кодом OpenStreetMap. Если та карта, которую вы хотите отобразить, не содержит надписей на нужном языке, вы можете добавить надписи на этом языке, внеся их на OpenStreetMap. Перед началом работы там можно ознакомиться с их Руководством для начинающих на OpenStreetMap и советами относительно принятых на картах правил наименования.

Сообщества могут решить изменить порядок использования у себя резервных языков

Прочтите всё об изменении параметров резервных языков для вашего языка на странице Проекта совершенствования карт (Map Improvements project).

Визуальный редактор (VisualEditor)

Наглядный пример добавления карты и маркера с помощью визуального редактора.


См. также