<% Dim Map : Set Map = OpenMap() Dim oRouting, DSeg, rProblem, i, rStop, RouteID, r, DDirs ' get the RoutingProblem object Set rProblem = Map.getRouting().createRoutingProblem() ' set routing stops array Dim stops() : ReDim stops(2) Set stops(0) = new GeoLocation : stops(0).init "Redlands, CA", 34.0528, -117.1531 Set stops(1) = new GeoLocation : stops(1).init "Redlands, CO", 39.0854, -108.6515 ' add routing stops For i = 0 To UBound( stops) - 1 Set rStop = Server.CreateObject("RMIMS.RoutingStop") rStop.setStop createPoint( stops(i).x, stops(i).y) rStop.setLabel stops(i).label rProblem.addStop (rStop) Next rProblem.setHighwayPreference 50 rProblem.setWeight rmShortest ' to find quickest use rmQuickest rProblem.setOptimize false ' no optimization ' Trip planning ***************************************************************** rProblem.setTripStart( createTime( 8, 0, 0)) rProblem.setDayDriveStart( createTimeSpan( 0, 8, 30, 0)) rProblem.setDayDriveEnd( createTimeSpan( 0, 17, 0, 0)) rProblem.setDriveBetweenRest( createTimeSpan( 0, 3, 0, 0)) rProblem.setRestDuration( createTimeSpan( 0, 0, 30, 0)) rProblem.setDriveFlexibility( createTimeSpan( 0, 0, 30, 0)) rProblem.enableRestBreaks true rProblem.enableTripPlanning true '******************************************************************************** Set Routing = Map.getRouting() RouteID = Routing.findRoute((rProblem), true, -1) ' show the route Routing.setRoute RouteID Set r = Routing.getDrivingDirections( RouteID).getExtent() Map.setExtent inflateRect(r, 10) ' increase borders ' print driving directions Set DDirs = Routing.getDrivingDirections( RouteID) Response.Write( "<p>"&DDirs.getStartText()&"<br>"&vbCrLf) Response.Write( DDirs.getFinishText()&"<br>"&vbCrLf) Response.Write( DDirs.getTotalText()&"<p>"&vbCrLf) For i = 0 To DDirs.getSegmentCount()-1 Set DSeg = DDirs.getSegment( i) Response.Write( (i+1) & ". " & DSeg.getText()+"<br>"&vbCrLf) ' if there is TimeLengthText If DSeg.getSegmentType <> rmArrive AND _ DSeg.getSegmentType() <> rmDepart Then Response.Write( DSeg.getTimeLengthText()&"<br>"&vbCrLf) End If Next Class GeoLocation Public label Public x Public y Public Function init( ilabel, ilat, ilon) Set proj = Map.getProjection() Set pt = proj.project( ilat, ilon) label = ilabel x = pt.x y = pt.y End Function End Class Function inflateRect(ByRef r, percVal) Dim dx, dy dx = ((r.right - r.left) * percVal) / 100.0 dy = ((r.top - r.bottom) * percVal) / 100.0 r.left = r.left - dx r.top = r.top + dy r.right = r.right + dx r.bottom = r.bottom - dy Set inflateRect = r End Function Function createPoint(x, y) Dim pt Set pt = Server.CreateObject("RMIMS.GeoPoint") pt.x = x pt.y = y Set createPoint = pt End Function Function createTimeSpan( days, hours, minutes, seconds) Dim ts Set ts = Server.CreateObject( "RMIMS.TimeSpan") ts.setDays days ts.setHours hours ts.setMinutes minutes ts.setSeconds seconds Set createTimeSpan = ts End Function Function createTime( hours, minutes, seconds) Dim t Set t = Server.CreateObject( "RMIMS.Time") t.setHours hours t.setMinutes minutes t.setSeconds seconds Set createTime = t End Function %> <img src="<%= Map.getMapImageURL(Map.getImageWidth(), Map.getImageHeight(), rmDefault)%>" width="<%=Map.getImageWidth()%>" height="<%=Map.getImageHeight()%>">