diff options
-rw-r--r-- | IkiWiki/Plugin/osm.pm | 13 | ||||
-rw-r--r-- | underlays/osm/ikiwiki/osm.js | 7 |
2 files changed, 19 insertions, 1 deletions
diff --git a/IkiWiki/Plugin/osm.pm b/IkiWiki/Plugin/osm.pm index 764767525..21d1dce3f 100644 --- a/IkiWiki/Plugin/osm.pm +++ b/IkiWiki/Plugin/osm.pm @@ -67,6 +67,13 @@ sub getsetup () { safe => 0, rebuild => 1, }, + osm_map_url => { + type => "string", + example => "/tiles/\${z}/\${x}/\${y}.png", + description => "Url to get map tiles from (if none specified, uses the openstreetmap server, see http://wiki.openstreetmap.org/wiki/Creating_your_own_tiles for more info on serving your own tiles)", + safe => 0, + rebuild => 1, + }, } @@ -540,6 +547,8 @@ sub map_setup_code($;@) { my $name=shift; my %options=@_; + my $mapurl = $config{osm_map_url}; + eval q{use JSON}; error $@ if $@; @@ -556,6 +565,10 @@ sub map_setup_code($;@) { $options{'kmlurl'} = urlto($map."/pois.kml"); } + if ($mapurl) { + $options{'mapurl'} = $mapurl; + } + return "mapsetup('mapdiv-$name', " . to_json(\%options) . ");"; } diff --git a/underlays/osm/ikiwiki/osm.js b/underlays/osm/ikiwiki/osm.js index d7e3d53f4..644d4b573 100644 --- a/underlays/osm/ikiwiki/osm.js +++ b/underlays/osm/ikiwiki/osm.js @@ -37,8 +37,13 @@ function mapsetup(divname, options) { numZoomLevels: 18 }); + if (options.mapurl) { + var newLayer = new OpenLayers.Layer.OSM("Local Tiles", options.mapurl, {numZoomLevels: 19, isBaseLayer: true}); + map.addLayer(newLayer); + } else { + map.addLayer(new OpenLayers.Layer.OSM()); + } - map.addLayer(new OpenLayers.Layer.OSM()); if (options.format == 'CSV') { pois = new OpenLayers.Layer.Text( "CSV", { location: options.csvurl, |