Шаблон:Wl

Шаблон {{wl}} является элементом движка WikiLeaflet и создаёт на вики-странице географическую карту.

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

Таким образом, простой вызов шаблона {{wl}} создаёт на вики-странице карту. Чтобы управлять видом и содержанием этой карты, достаточно поместить внутрь этого шаблона (в его первый параметр) несколько других (вложенных в него) вызовов шаблона {{wl}}. Первый параметр этих вложенных шаблонов и их последующие параметры позволяют контролировать изменения, налагаемые на карту.

Список специальных значений первого параметра

{{wl|редактор}} или {{wl|edit}}
Дополняет географическую карту возможностью считывания координат:
  • при каждом таскании карты мышкою, а также при увеличении и уменьшении карты под нею появляется коды шаблонов {{wl|центр|lat|lon|zoom}} и {{wl|границы|юг|запад|север|восток}}, все параметры которых уже заполнены;
  • при каждом жмяке мышóю по свободному месту карты на этом месте появляется всплывающее пояснение, содержащее код шаблона {{wl|точка|lat|lon}}, первые три параметра в котором ужé заполнены.
Эти коды могут быть затем выделены (в Файерфоксе — троекратным жмяком мышóю) и скопированы в буфер обмена.
Следует отметить, что в режиме редактирования страницы (после нажатия кнопки «Предварительный просмотр») карта и без того автоматически обретает возможность считывания координат, поэтому ставить вызов «{{wl|edit}}» необходимо только в том случае, когда эта возможность необходима после сохранения страницы (например, на служебной странице помощи).
{{wl|высота|height}}
Задаёт высоту карты равной height пикселов. Этот второй параметр (height) должен быть натуральным числом.
{{wl|центр|lat|lon|zoom}}
Задаёт начальное положение карты широтою lat, долготою lon и увеличением zoom. Если эти параметры не заданы, они будут подобраны автоматически, чтобы вместить все точки. Если точек нет, то будет выведен город Геленджик.
{{wl|границы|юг|запад|север|восток}}
Задаёт прямоугольные границы выводимой карты, вывести которые за пределы карты зрителю не позволят. Если задан только шаблон {{wl|границы}} без дополнительных параметров, то границы будут рассчитаны так, чтобы вместить все точки и центр карты (когда он явно задан).
{{wl|точка|lat|lon|text|типЗначка|типКластерногоЗначка|рейтингВКластере}}
Создаёт на карте точку широтою lat и долготою lon.
Параметр text, если не пуст, создаёт пояснение для этой точки, всплывающее по жмяку мышóю.
Параметр типЗначка, если не пуст, задаёт тот значок, которым точка на карте будет помечена. Различные значки можно задавать при помощи параметра {{wl|значок|…}} (см. ниже).
Параметр типКластерногоЗначка, если не пуст, задаёт тот значок, которым будет отмечен кластер точек, включающий данную, при условии что этот кластерный значок у них одинаков.
Та точка, у которого параметр рейтингВКластере будет выше, даст свой значок всему кластеру.
Также могут использоваться дополнительные параметры надписей.
{{wl|значок|…}}
Сложный вариант шаблона, описывающий значок (маркер), которым в дальнейшем можно помечать точки на карте. Содержит до двенадцати параметров:
  • Первым параметром служит слово «значок» (без кавычек).
  • Вторым параметром служит идентификатор значка.
  • Третий параметр задаёт имя файла, содержащего изображение значка. Файл должен быть загружен в ту же вики, что и карта, поэтому указывается только хвост имени, следующий за адресом папки картинок вики. Скажем, для файла с адресом «http://имя.сервера.вики/images/f/f3/filename.png» указывается имя «f/f3/filename.png».
  • Четвёртый и пятый параметры — числа, задающие (в пикселах) ширину и высоту значка.
  • Шестой параметр задаёт имя файла, содержащего изображение тени от значка. (Именем служит хвост адреса, аналогично третьему параметру.) Изображение тени подкладывается под изображение самогó значка таким образом, чтобы левые верхние углы изображений совпали, и поэтому должно быть нарисовано с учётом этого. Этот параметр не обязателен, если изображение тени не планируется или если оно включено в изображение самогó значка. Тем не менее, отдельная тень полезна в тех случаях, когда сразу несколько значков накладываются друг на друга (тогда тени отходят на второй план).
  • Седьмой и восьмой параметры — числа, задающие (в пикселах) ширину и высоту тени. (Эти параметры обязательны только тогда, когда тень указана.)
  • Девятый и десятый параметры — числа, задающие (в пикселах) расстояние (по горизонтали и по вертикали соответственно) от левого верхнего угла значка до той точки на карте, на которую значок ставится. Эти параметры не обязательны; при их отстутствии расстояние по вертикали принимается равным высоте значка, а по горизонтали — половине ширины значка, так что прямоугольный значок оказывается стоящим на середине нижней стороны, а круглый — на нижней точке вертикального диаметра.
  • Одиннадцатый и двенадцатый параметры — числа, задающие (в пикселах) сдвиг по горизонтали вправо и сдвиг по вертикали вниз от той точки на карте, на которую значок ставится, до той точки, на которую ляжет кончик тени от пояснения, всплывающего по жмяку мышóю. Отрицательные числа указывают на сдвиг в противоположном направлении (влево и вверх соответственно). Эти параметры не обязательны; при их отстутствии сдвиг по горизонтали принимается нулевым, а сдвиг по вертикали — отрицательным (то есть направленным вверх), причём по модулю на два пикселя меньшим, чем десятый параметр (то есть чем расстояние от точки на карте до верха значка). Так как размер тени от пояснения как раз равен двум пикселам, то получается, что если параметры с девятого по двенадцатый (включительно) не заданы, тогда прямоугольному значку пояснение станет указывать на середину верхней стороны, а круглому — на верхнюю точку вертикального диаметра.
  • Тринадцатый параметр — тип значка, который будет использоваться для кластера точек, в который попадёт данная точка, когда установлен шаблон {{wl|кластер|…}}, при условии, что эти типы совпадают.
  • Четырнадцатый параметр — рейтинг в кластере для точек этого типа.
Также могут использоваться дополнительные параметры надписей.
{{wl|тайлы|имяСервераТайлов}}
Позволяет выбрать (в зависимости от значения второго параметра), с какого сервера будут первоначально подкачиваться тайлы, то есть двумерные плитки 256×256 пикселов, из которых формируется карта. Допустимые значения второго параметра: osm, cycle, mapquest, openaerial, hydda, openmapsurfer, esriwp, thundertr. См. Справка:Выбор тайлов.
В правом верхнем углу карты будет отображён переключатель тайлов.
{{wl|GeoJSON|…}}
Вторым параметром этого варианта шаблона является код в формате GeoJSON, описывающий географические объекты, накладываемые на карту.
Второй параметр следует непременно обрамлять парою тегов <nowiki></nowiki> — в противном случае квадратные и особенно фигурные скобки GeoJSON могут интерпретироваться как элементы оформления гиперссылок и шаблонов MediaWiki.
В настоящее время возможность создавать и редактировать данные geoJSON средствами wl отсутствует. Для этого применяются внешние редакторы. Как вариант, для подготовки данных, предлагается следующая схема:
  • С помощью GoogleMaps создаются объекты (кривые линии, полигоны, точки и т.д., пример), и с его же помощью эти объекты импортируются в формат KML (жмяком по "KML" в левой части экрана) после чего файл с данными в формате KML сохраняется на диске.
  • Этот файл может быть открыт в редакторе по адресу http://geojson.io. Кроме того, там возможно и прямое графическое редактирование GeoJSON.
  • Для редактирования цвета объекта необходимо удалить "styleUrl":"#style*" и вставить "style":{"color":"#хеш_цвета"}
{{wl|кластер|расстояние|разделитель|тип значка}}
Если будет установлен этот шаблон с положительным вторым параметром, значки, оказавшиеся друг к другу не дальше, чем на расстояние пикселей, будут объединены. При этом, если одна подпись к значку содержит другую, будет выведена только она, а если нет — подписи будут склеены через разделитель. Будут объединены также всплывающие окна. Для объединённой точки будет использован значок, заданный тринадцатым параметром шаблона точки:{{wl|точка|…|13=тип значка для объединения}}, при условии, что все они у объединяемых точек одинаковые, в противном случае будет использован тип значка. Объединённая точка попадёт во все категории, в которые попадали отдельные точки. При изменении масштаба, значки могут быть разгруппированы или сгруппированы.

Дополнительные параметры надписей

В шаблонах {{wl|точка|…}} и {{wl|значок|…}} может использоваться дополнительный именованный параметр «надпись=текстНадписи», вызывающий появление означенной им надписи:

  • Если он задан в шаблоне {{wl|точка|…}}, то тогда этот параметр вызывает появление надписи у точки, означенной этим шаблоном.
  • Если он задан в шаблоне {{wl|значок|…}}, то тогда этот параметр вызывает появление надписи у всех точек, помеченных этим значком.

Параметру «надпись» могут сопутствовать другие именованные параметры, задающие смещение надписи:

сдвигНадписи
Задаёт величину горизонтального сдвига надписи (в пикселах).
подъёмНадписи
Задаёт величину вертикального подъёма надписи (в пикселах).

По умолчанию у точки эти параметры равны нулю (так что надпись появляется у точки), а у значка принимаются такими, которые необходимы для появления надписи у правого верхнего угла значка.

Категории

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

Если добавить в первый параметр шаблона {{wl|1=…}} вызов {{wl|фильтры}}, то к инструменту выбора тайлов в правом врхнем углу карты добавится список всех используемых категорий, показ которых можно включать и выключать независимо друг от друга. Некатегоризированные объекты будут показываться в любом случае.

Динамические карты