First, you can get a demo of MapPoint 2013 Here ... It's a 14 day fully functional trial except it bugs you to activate every time you start it. Not good for automation, but decent enough if you want to test this.
use Win32::OLE qw(in with);
use Win32::OLE::Const;
use Win32::OLE::Const 'Microsoft MapPoint';
$Win32::OLE::Warn = 3; # die on errors...
my $MapPoint = Win32::OLE->new('MapPoint.Application', 'Quit');
my $Map = $MapPoint->NewMap();
my $Route = $Map->ActiveRoute();
my $Results1 = $Map->FindResults("Start Address");
$Route->Waypoints->Add($Results1->Item(1));
my $Results2 = $Map->FindResults("End Address");
$Route->Waypoints->Add($Results2->Item(1));
$Route->Calculate;
my $distance;
for ($count=1; $count<$Route->Directions->Count; $count++)
{
print $Route->Directions->Item($count)->Instruction . " ";
$distance=$Route->Directions->Item($count)->Distance;
if ($distance < 0.1) {
printf "%6.2f yds\n", ($distance*1760)
} else {
printf "%6.2f mi\n", $distance;
}
}
print $Route->Directions->Item($Route->Directions->Count)->Instruction
$Map->{Saved} = -1;
No comments:
Post a Comment