Maps (MediaWiki extension)

Category:MediaWiki extension
Maps (MediaWiki extension)

Extension name  | Maps
About this article / disclaimer  | This is not official documentation
Logo  |
Screenshot  |
Location of the main author  | Gent, Belgium
Coordinates of the main authors  | 51.053829, 3.725012
Developers  | Jeroen De Dauw, others
Licences  |
Description  | Maps is a MediaWiki extension that provides the ability to visualize geographic data with dynamic, JavaScript based, mapping API's. It has built-in support for geocoding, displaying maps, displaying markers, adding pop-ups, and more.
Mediawiki requirements  | 1.17.* or higher for version 2.0, 1.21 alpha or higher or the 3.0 development version
Dependencies  | ParamProcessor
Related extensions (documented here)  | Semantic Maps
Related extensions  |
Discussion  |
Language support  | Many
Status  |
First release date  | 2009/07/01
Last release date (as of 2013/08/22!)  | 2013/08/01
Last version number  | 2.0.1 (stable, 12/2012), 3.0 (alpha)
Programming language  | PHP
Alternatives  |
Website  | home page
Publications  |
Support websites  | web site
Example websites  | http://semantic-mediawiki.org/wiki/Maps
Last edited  | 2013/08/22

## Contents

* 1 Introduction
* 2 Geocoding
* 3 Displaying Maps V 3.x
* 3.1 Parameters for #display_map
* 3.2 Simple examples
* 3.3 More examples
* 4 Other Maps parser functions
* 5 Installation and configuration
* 5.1 Installation
* 5.1.1 Installation for MW 1.22 or better
* 5.1.2 Installation prior to MW 1.22
* 5.2 Configuration
* 5.3 Debugging and troubleshooting
* 6 Links

## Introduction[edit | edit source]

Maps is a MediaWiki extension that provides the ability to visualize geographic data with dynamic, JavaScript based, mapping API's such as Google Maps and OpenLayers in your wiki pages. It has built-in support for geocoding, displaying maps, displaying markers, adding pop-ups, and more. Maps allows extensive customization of your maps, either per map, or via a general setting affecting all maps on your wiki. It is used by the Semantic Maps extension. (Maps, retrieved Aug 2013.

## Geocoding[edit | edit source]

Geocoding allows to work with addresses instead of coordinates, i.e. geocoding can convert something like `40 boulevard du Pont d'Arve, Geneva` into coordinates.

Live example:

{{#geocode:40 bd du Pont-d'Arve, Genève}}

gives: 46° 11' 41.77" N, 6° 8' 24.45" E

{{#geocode:location=40 bd du Pont-d'Arve, Genève|format=float}}

gives: 46.194937 N, 6.140124 E

{{#geocode:location=40 bd du Pont-d'Arve, Genève|format=float|directional=no}}

gives: 46.194937, 6.140124

See more example in the official manual

## Displaying Maps V 3.x[edit | edit source]

In order to display map with one or more markers, you can either enter addresses that will be resolved by a geocoding service (see above) or coordinates.

One either can use a parser function or XML code.

Parser function:

{{#display_map:....}}

XML code:

<display_map>...</display_map>

Simple syntax example:

{{#display_map:<your location>|height=<some height>|service=<your service>|zoom=<zoom-level>}}

Read the official documentation, though there are new parameters which are not yet documented.

### Parameters for #display_map[edit | edit source]

(under construction ....)

As of August 2013, parameters for #display_map (Maps version 3.0) are not yet officially documented, but look at Jeroen De Dauw list.

Some extra parameters (to be tested...)  Parameter name and aliases | explanation | values | Example(s)

|
|
|

Default (blank) | Define locations for markers | either an address or coordinates. Will figure out automatically what to do | Geneva
40 boulevard du Pont d'Arve, 1205 Genève, Suisse
40.7143528, -74.0059731
coords or location or address or addresses or locations or points | (not sure about this ... |  |
width | Width of the Map |  | 400px
height | Height of the Map |  | 600px
center or centre |  |  |
Services
geoservice | Identifies the geocoding service | geonames or google |
mappingservice or service | Identifies the mapping service |  |
Information and icons
title |  |  |
label or text |  |  |
icon |  |  |
visitedicon |  |  |
Drawings
lines |  |  |
circles |  |  |
polygones |  |  |
rectangles |  |  |
copycoords |  |  |
User interface
wmsoverlay |  |  |
maxzoom |  |  |
minzoom |  |  |
markercluster |  |  |
Other
copycoords |  |  |
static |  |  |

### Simple examples[edit | edit source]

Most basic use example (result not shown):

{{#display_map:Genève}}

{{#display_map:Geneva, Switzerland}}

Below are some simple examples using height and width and zoom parameters.

{{#display_map:Geneva, Switzerland|height=200px|width=400px|zoom=6}}

Loading map...

{{#display_map:Geneva, Switzerland|width=400px|service=openlayers}}

Loading map...

### More examples[edit | edit source]

See

* Multiple points examples
* Layers examples

## Other Maps parser functions[edit | edit source]

(to be documented)

Coordinates 	Formats coordinates
Display map 	Simple map display without markers
Distance 	Distance conversion
Finddestination Finds the destination given a starting point
Geodistance 	Calculates the distance between two points

## Installation and configuration[edit | edit source]

### Installation[edit | edit source]

#### Installation for MW 1.22 or better[edit | edit source]

(since nov 2013)

1) Install composer as explained for example in the semantic MediaWiki article.

2) Cd to your mediawiki base installation directory (not the extensions !!)

3) If needed, remove the old extensions/maps directory

4) Type

composer require mediawiki/maps "*"

#### Installation prior to MW 1.22[edit | edit source]

In order to install a bleeding edge 3.0 alpha version, we did the following in this wiki:

* Upgrade PHP to 5.3.10 (i.e. the default in Ubuntu 12.04)
* Upgrade both the Wiki and all SMW extensions to developer (alpha) code

cd extensions:
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/DataValues.git
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/Validator.git
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/Maps.git

### Configuration[edit | edit source]

You can use Maps out of the box. However, some services require API keys and according configuration settings in LocaSettings.php.

Google Maps JavaScript API keys
These are needed for some extra functionality like layers

* Read Getting Started at Google

( more to come ....)

Using OpenLayers as default geocoding service

In LocalSettings.php

* Sign up at http://api.geonames.org/
* Enable the account to use the free web services, i.e. click on the link at the bottom of that page
* In the LocalSettings.php file define $egMapsGeoNamesUser (after loading Maps)

$egMapsGeoNamesUser = YourUserName;

Problem:

Some addresses don't work as well as with Google (not that sure about this ...)

### Debugging and troubleshooting[edit | edit source]

General MediaWiki debugging information

* Read How to debug MediaWiki at mediawiki.org

Bad use of parameters and values

Wrap `<listerrors> </listerrors>` around an expression. This will tell ParamProcessor to display errors

However, when I tried (15:42, 24 August 2013 (CEST)), I got a blank page.

Maps stop working without reason (i.e. code wasn't changed)

There are several possibilites

Probably you exceeded the amount of requests / hour with a geocoding or mapping service you can make.
You did upgrades. Be careful of dependencies, i.e. either use a stable version or upgrade everything all the time.
Memory limit exceeded. Check the webserver's error log (/var/log/apache2/error.log for example). You also can use less maps in a single page. This page did encounter memory limit problems and I moved maps to subpages ...

After editing page, you can't see contents.
Edit the page :)

## Links[edit | edit source]

* https://semantic-mediawiki.org/wiki/User:Jeroen_De_Dauw/Describe
* https://semantic-mediawiki.org/wiki/User:Jeroen_De_Dauw/Mapsdoc