# WrMap This MediaWiki extension creates a map using OpenLayers to show sledrun details and sledrun overviews. It is developed for https://www.winterrodeln.org/ This extension depends on no other extension. Example 1 --------- ```xml ``` Shows icons for all sledruns. `lat`, `lon` and `zoom` are optional. Example 2 --------- ```xml 47.240689 11.190454 47.238186 11.221940 47.240287 11.203006 47.245789 11.238971 47.237627 11.218886 47.245711 11.238283 47.2383200 11.2235592 47.238587 11.203360 47.239743 11.203522 47.240135 11.203247 47.238442 11.203263 47.237799 11.203511 47.237133 11.202988 47.238091 11.206642 47.237273 11.211675 47.237133 11.214466 47.237513 11.218199 47.240487 11.190169 47.238996 11.188628 47.238987 11.188018 47.238267 11.187075 47.238461 11.190511 47.239751 11.191795 47.240037 11.192702 47.239525 11.193535 47.239688 11.194272 47.239017 11.193925 47.239536 11.195457 47.240063 11.196230 47.240747 11.196658 47.239734 11.198295 47.238857 11.198346 47.237743 11.199778 47.238250 11.202755 47.238587 11.203360 47.238587 11.203360 47.238185 11.203982 47.238297 11.204381 47.239417 11.204972 47.239210 11.208772 47.238999 11.209523 47.239126 11.209839 47.238933 11.210641 47.239102 11.210739 47.238666 11.215042 47.238203 11.216089 47.238183 11.218151 47.237851 11.218599 47.238055 11.219755 47.237686 11.222441 47.238000 11.223367 47.238625 11.223687 47.239915 11.223118 47.240992 11.219781 47.243412 11.214141 47.243207 11.218331 47.243990 11.216205 47.243785 11.223251 47.242845 11.228510 47.242917 11.232501 47.242524 11.235001 47.244737 11.231791 47.244951 11.230868 47.245470 11.237853 47.245656 11.237286 47.238189 11.221344 ``` Definition ---------- * `...` has to be valid XML. * All coordinates are in WGS84 coordinate system. * Coordinates have the preferred format "latitude N longitude E", however for parsing the N and E can be omitted. * has the following attributes: * `lat` (float): latitude of map-center, optional. * `lon` (float): longitude of map-center, optional. * `zoom` (integer): zoom level of the map (google zoom levels). optional. * `width` (integer): width of the map in pixel. optional (100% if omitted) * `height` (integer): height of the map in pixel. optional. * `` can have any number of the following sub-elements: * `` * `` * `` * `` * `` * `` * `` * `` * `` * `` * `` * `` * `` * The order may be used by the renderer to determine in which order the elements should be drawn: First mentioned elements are drawn first. * ``, ``, ``, ``, ``, `` and `` define points * The elements may have the following attributes: * `name` (string): defines the name (not the label) of the element * `wiki` (string): name of a MediaWiki page the point refers to * The content is exactly one coordinate pair. * ``, ``, ``, ``, `` and `` define non-closed polygons. * They may have the following attributes: * `farbe` (hex format, e.g. `#12a50f`): color of the line * `dicke` (int): width of the line in pixel * The content of the elements are a whitespace separated list of coordinates. For transmitting the map to javascript, geojson is used in the `
` element of the map. This way, an extra request is avoided. The geojson format used here consists of a single "FeatureCollection" (representing the ``) containing the sub-elements of wrmap as features. The features have an properties key that has a hash as values with the properties of the XML subelements of wrmap. Optional attributes/properties can be omitted. Additionally one mandatory property key is called 'type' and has the sub-element's name as value. The featurecollection itself has a properties key as well containing the attributes of the wrmap element. ## Install build dependencies The following command uses `package.json` to install all dependencies npm install ## Bundle JavaScript/Typescript The TypeScript source files are below the src directory. To bundle them, run npm run build Add `/*@nomin*/` close to the end of `dist/wrmap.mjs` to prevent minification bug: https://phabricator.wikimedia.org/T351610.