| 
<?phprequire_once('../mappoint/ClassLoader.php');
 session_start();
 ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 <title>Line Drive Map</title>
 </head>
 <body>
 <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
 <table border="1">
 <tr><td>Start Address:</td></tr>
 <tr><td>
 <textarea name="txtStart" id="txtStart" cols="20" rows="5">1 Microsoft Way Redmond, WA 98052</textarea>
 </tr></td>
 <tr><td>End Address:</tr></td>
 <tr><td>
 <textarea name="txtEnd" id="txtEnd" cols="20" rows="5">Pike Place Market Seattle, WA 98101
 </textarea>
 </tr></td>
 <tr><td>Data source: <select name="ddlDataSource" id="ddlDataSource">
 <option selected="selected" value="MapPoint.NA">MapPoint.NA</option>
 <option value="MapPoint.EU">MapPoint.EU</option>
 </select>
 </tr></td>
 <tr><td align="center">
 <input type="submit" name="GetLineDriveMap" value="Get Map" id="GetLineDriveMap" />
 </tr></td>
 </table>
 </form>
 <?php
 
 if (isset($_POST['GetLineDriveMap'])) {
 $global = $_SESSION['mappoint'];
 
 //Find the LatLong for the two addresses provided
 $aStart = new Address();
 $aStart->FormattedAddress = $_POST['txtStart'];
 $aEnd = new Address();
 $aEnd->FormattedAddress = $_POST['txtEnd'];
 
 //we only care about returing the LatLong
 $fo = new FindOptions();
 $fo->ResultMask = FindResultMask::$LatLongFlag;
 
 //create a new FindAddressSpecification for the start address
 $spec = new FindAddressSpecification();
 $spec->DataSourceName = $_POST['ddlDataSource'];
 $spec->InputAddress = $aStart;
 $spec->Options = $fo;
 
 $fr = null;
 
 //Get the LatLong for the start address
 try
 {
 $fr = $global->FindService->FindAddress($spec);
 
 $llStart = new LatLong();
 $llStart = $fr->Results->FindResult[0]->FoundLocation->LatLong;
 }
 catch (SoapFault $e) {
 die($e->faultstring);
 }
 try
 {
 //Now get the LatLong for the end address
 $spec = new FindAddressSpecification();
 $spec->DataSourceName = $_POST['ddlDataSource'];
 $spec->InputAddress = $aEnd;
 $spec->Options = $fo;
 
 $fr = $global->FindService->FindAddress($spec);
 $llEnd = new LatLong();
 $llEnd = $fr->Results->FindResult[0]->FoundLocation->LatLong;
 }
 catch (SoapFault $e) {
 die($e->faultstring);
 }
 
 //use the LatLongs we just obtained to create Location objects
 $startLocation = new Location();
 $endLocation = new Location();
 $startLocation->LatLong = new LatLong();
 $startLocation->LatLong = $llStart;
 $endLocation->LatLong = new LatLong();
 $endLocation->LatLong = $llEnd;
 
 //create a SegmentSpecification that includes the
 //start and end locations
 $routeSegmentsSpec = array();
 $routeSegmentsSpec[] = new SegmentSpecification();
 $routeSegmentsSpec[0]->Waypoint = new Waypoint();
 $routeSegmentsSpec[0]->Waypoint->Name = "Start";
 $routeSegmentsSpec[0]->Waypoint->Location = $startLocation;
 $routeSegmentsSpec[] = new SegmentSpecification();
 $routeSegmentsSpec[1]->Waypoint = new Waypoint();
 $routeSegmentsSpec[1]->Waypoint->Name = "End";
 $routeSegmentsSpec[1]->Waypoint->Location = $endLocation;
 
 //create a RouteSpecification and add the segments
 $routeSpec = new RouteSpecification();
 $routeSpec->DataSourceName = $_POST['ddlDataSource'];
 $routeSpec->Segments = $routeSegmentsSpec;
 
 //Get the LineDrive map(s) and directions
 try {
 $myRoute = $global->RouteService->CalculateRoute($routeSpec);
 } catch (SoapFault $e) {
 die($e->faultstring);
 }
 
 $format = new ImageFormat();
 $format->Height = 400;
 $format->Width = 400;
 
 $ldmo = new LineDriveMapOptions();
 $ldmo->Format = new ImageFormat();
 $ldmo->Format->Height = 400;
 $ldmo->Format->Width = 400;
 $ldmo->FontSize = MapFontSize::$Smallest;
 $ldmo->ReturnType = MapReturnType::$ReturnUrl;
 $ldmo->PaletteType = PaletteType::$Color;
 
 //now get the maps
 $spec = new LineDriveMapSpecification();
 $spec->Route = $myRoute;
 $spec->Options = $ldmo;
 try {
 $mi = $global->RenderService->GetLineDriveMap($spec);
 } catch (SoapFault $e) {
 die($e->faultstring);
 }
 echo "<br /><img src='".$mi[0]->Url."' />";
 }
 
 ?>
 </body>
 </HTML>
 
 |