kml.pl: Adding placemarks works

pull/2/head
Daniel Asher Resnick 4 years ago
parent 42e533b53c
commit 29fd191325
  1. 12
      kml.pl

@ -5,18 +5,17 @@ use strict;
use warnings; use warnings;
use XML::LibXML; use XML::LibXML;
use Data::Dumper; use URI::Escape;
my ($name, $coordinates, $article) = @ARGV; my ($name, $coordinates) = @ARGV;
my $filename = 'ours.kml'; my $filename = 'ours.kml';
my $dom = XML::LibXML->load_xml(location => $filename, no_blanks => 1); my $dom = XML::LibXML->load_xml(location => $filename, no_blanks => 1);
my $xpc = XML::LibXML::XPathContext->new($dom); my $xpc = XML::LibXML::XPathContext->new($dom);
$xpc->registerNs('k', "http://earth.google.com/kml/2.2"); $xpc->registerNs('k', "http://earth.google.com/kml/2.2");
append_placemark($name, $coordinates, $article); append_placemark($name, $coordinates, uri_escape($name));
# say $dom->toString(1);
print $dom->toString(1); print $dom->toString(1);
sub add_empty_child sub add_empty_child
@ -50,6 +49,11 @@ sub append_placemark
my $name_cdata = $dom->createCDATASection($name_content); my $name_cdata = $dom->createCDATASection($name_content);
$name_node->appendChild($name_cdata); $name_node->appendChild($name_cdata);
my $description_node = add_empty_child($placemark, 'description');
my $description_content = $coordinates;
my $description_cdata = $dom->createCDATASection($description_content);
$description_node->appendChild($description_cdata);
my $style_node = add_empty_child($placemark, 'styleUrl'); my $style_node = add_empty_child($placemark, 'styleUrl');
$style_node->appendText('#jackpoint-logo'); $style_node->appendText('#jackpoint-logo');

Loading…
Cancel
Save