[[!template id=plugin name=osm author="Blars Blarson, Antoine Beaupré"]]
[[!tag type/special-purpose todo/geotagging]]

## OpenStreetMap/OpenLayers support for ikiwiki

This plugin provides simple OpenStreetMap/OpenLayers support for ikiwiki.
It can embed OpenStreetMap viewports within a page or link to a bigger map
that will have multiple markers, generated with a KML (or CSV, or GeoJSON)
datafile of markers based on the different calling pages. Multiple distinct
maps on a single wiki are supported.

You will need the [[!cpan XML::Writer]] perl module to write KML files,
which is the default mode of operation. GeoJSON files can also be generated
if the [[!cpan JSON]] perl module is installed.

This provides the [[ikiwiki/directive/waypoint]] and [[ikiwiki/directive/osm]] directives.

### Examples

A [[basic set of examples|http://cbaines.net/osm-examples]] is available
([[repository|http://git.cbaines.net/?p=ikiwiki/osm-examples.git;a=summary]]).
Note that none of these will work without patching the plugin. With the
following patches, most of the examples will work (while each patch is
seperate, the branch includes all previous patches in the list, so the
cbaines/osm-icon-fixes branch includes all patches).

 - [[bugs/osm plugin error TypeError: mapProjection is null]]
 - [[todo/osm plugin GeoJSON popup patch]]
 - [[todo/osm plugin icon patch]]

Even with these patches, the CSV examples do not work, and there are cosmetic
issues with a few of the other examples.

---

The plugin was originally written by
[[the techno-viking|http://techno-viking.com/posts/ikiwiki-maps/]] and fixed up
by [[anarcat]]. 

See [[the Reseaulibre.ca wiki|http://reseaulibre.ca/]] for a sample of what this
plugin can do

See also [[plugins/contrib/googlemaps]].

This plugin would be greatly improved by
[[todo/internal_definition_list_support]].
