Leaflet GeoJSON

From Maps for MediaWiki

Maps supports working with GeoJSON since version 6.

Since GeoJSON is an open standard, there are many tools that allow you to create an consume GeoJson. A simple online visual map editor that outputs GeoJSON is geojson.io.

In-wiki GeoJSON

Since version 6.0, you can store your GeoJSON in wiki pages that are in the GeoJson namespace. For instance GeoJson:Berlin. You can use this GeoJSON via the geojson parameter, by giving it the page name. The GeoJSON stored in a page can be used by as many maps as you like.

{{#display_map: center=Berlin | geojson=Berlin}}
Loading map...

The pages in the GeoJson namespace make sure they contain valid JSON. Once saved, the pages show a preview of the GeoJSON on a Leaflet map.

Visual editor

Since version 6.7 pages in the GeoJson namespace contain a visual map editor. The editor is only shown to those with permissions to edit the page.

Since version 7.13 the editor is also shown on regular maps that use GeoJson.

Semantic MediaWiki integration

Since Maps version 7.16 there is experimental SMW integration that stores GeoJson data as SubObjects. Contact Jeroen De Dauw for more information.

GeoJSON export

You can export GeoJSON stored on a GeoJSON page by clicking "edit" or "view source" and copying the content.

Alternatively you can add ?action=raw to the page URL. Example: GeoJson:Berlin?action=raw

Limitations

As of version 7.16:

  • Only Leaflet supports GeoJson
  • Marker styles cannot be changed
  • Images and links cannot be added to the markers
  • No visual editing of shape styles
  • Editing the GeoJSON page directly does not cause automatic updates on pages that make use of it
  • No captcha integration: edits will fail for users that need to fill out a captcha to edit
  • The preview maps on GeoJson pages cannot be customized via wikitext or configuration
  • https://github.com/JeroenDeDauw/Maps/projects/1

You can hire Jeroen De Dauw (creator of Maps) to work on the above via Professional.Wiki.

GeoJSON files

{{#display_map: center=Berlin
 | geojson = https://raw.githubusercontent.com/leakyMirror/map-of-europe/master/GeoJSON/europe.geojson
}}
Loading map...