#!/usr/bin/perl -w

=head1 NAME

example-cgi-gpx - Net::GPSD web based cgi example that output gpx

=cut

use strict;
use Net::GPSD;

my $g=new Net::GPSD;
my $p=$g->get;
if ($p->fix) {
  print gpx($p);
} else {
  print "No Fix.\n";
}

sub gpx {
  my $p=shift();
  my ($lat, $lon, $alt, $time)=($p->latlon, $p->alt, $p->time);
qq{
<?xml version="1.0"?>
<gpx
 version="1.0"
 creator="Net:GPSD"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://www.topografix.com/GPX/1/0"
 xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
 <time>$time</time>
 <wpt lat="$lat" lon="$lon">
  <ele>$alt</ele>
  <time>$time</time>
 </wpt>
</gpx>
}
}
