X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/1e0389fffbc33ad235e717756cb8b0b361f5b93b..12fa9c031f7a9dc25dba628aa91fc347586e4ab6:/IkiWiki/Plugin/osm.pm diff --git a/IkiWiki/Plugin/osm.pm b/IkiWiki/Plugin/osm.pm index 84e43b710..c9c5646c4 100644 --- a/IkiWiki/Plugin/osm.pm +++ b/IkiWiki/Plugin/osm.pm @@ -64,12 +64,12 @@ sub getsetup () { sub preprocess { my %params=@_; - my $page = $params{'page'}; - my $dest = $params{'destpage'}; - my $loc = $params{'loc'}; # sanitized below - my $lat = $params{'lat'}; # sanitized below - my $lon = $params{'lon'}; # sanitized below - my $href = $params{'href'}; + my $page = $params{page}; + my $dest = $params{destpage}; + my $loc = $params{loc}; # sanitized below + my $lat = $params{lat}; # sanitized below + my $lon = $params{lon}; # sanitized below + my $href = $params{href}; my ($width, $height, $float); $height = scrub($params{'height'} || "300px", $page, $dest); # sanitized here @@ -162,17 +162,6 @@ sub process_waypoint { will_render($page, "$map/pois.kml"); } } - my $href = IkiWiki::cgiurl( - do => "osm", - map => $map, - lat => $lat, - lon => $lon, - zoom => $zoom, - ); - if (defined($destsources{htmlpage($map)})) { - $href = urlto($map,$page) . "?lat=$lat&lon=$lon&zoom=$zoom"; - $href =~ s!&!&!g; - } $pagestate{$page}{'osm'}{$map}{'waypoints'}{$name} = { page => $page, desc => $desc, @@ -186,13 +175,22 @@ sub process_waypoint { # so must be absolute. href => urlto($page), }; + + my $mapurl = IkiWiki::cgiurl( + do => "osm", + map => $map, + lat => $lat, + lon => $lon, + zoom => $zoom, + ); my $output = ''; if (defined($params{'embed'})) { - $params{'href'} = $href; # propagate down to embeded - $output .= preprocess(%params); + $output .= preprocess(%params, + href => $mapurl, + ); } if (!$hidden) { - $output .= "<a href=\"$href\"><img class=\"img\" src=\"$icon\" $alt /></a>"; + $output .= "<a href=\"$mapurl\"><img class=\"img\" src=\"$icon\" $alt /></a>"; } return $output; } @@ -327,41 +325,6 @@ sub writekml($;$) { eval q{use XML::Writer}; error $@ if $@; foreach my $map (keys %waypoints) { - -=pod -Sample placemark: - -<?xml version="1.0" encoding="UTF-8"?> -<kml xmlns="http://www.opengis.net/kml/2.2"> - <Placemark> - <name>Simple placemark</name> - <description>Attached to the ground. Intelligently places itself - at the height of the underlying terrain.</description> - <Point> - <coordinates>-122.0822035425683,37.42228990140251,0</coordinates> - </Point> - </Placemark> -</kml> - -Sample style: - - - <Style id="sh_sunny_copy69"> - <IconStyle> - <scale>1.4</scale> - <Icon> - <href>http://waypoints.google.com/mapfiles/kml/shapes/sunny.png</href> - </Icon> - <hotSpot x="0.5" y="0.5" xunits="fraction" yunits="fraction"/> - </IconStyle> - <LabelStyle> - <color>ff00aaff</color> - </LabelStyle> - </Style> - - -=cut - my $output; my $writer = XML::Writer->new( OUTPUT => \$output, DATA_MODE => 1, ENCODING => 'UTF-8');