#!/usr/bin/perl -w
###########################################
# map - Put track markers on a Yahoo Map
# Mike Schilli, 2006 (m@perlmeister.com)
###########################################
use strict;
use YAML qw(LoadFile);
use Geo::Distance;
use Template;

my $trkpts = LoadFile("tracks.yml");
my $geo    = Geo::Distance->new();

my $count  = 0;
my $min    = 0.4;  # Minimum marker distance
my @points = ();
my $last_pt;

for my $trkpt (@$trkpts) {
  if($last_pt) {
      my $k = $geo->distance("kilometer", 
          $last_pt->{lon}, $last_pt->{lat},
          $trkpt->{lon},   $trkpt->{lat});
     
      next if $k < $min;
  }
  $trkpt->{count} = ++$count;
  push @points, $trkpt;

  $last_pt = $trkpt;
}

my $template = Template->new();
my $vars     = { points => \@points };

$template->process("map.tmpl", $vars) or
    die $template->error();
