public WebFleetPosition Map(AddressService.CompleteLocationWithAdditionalInformation location) { var result = new WebFleetPosition() { TimeStamp = DateTime.UtcNow, PositionText = location.positionText, Latitude = location.geoPosition.latitude * .000001, Longitude = location.geoPosition.longitude * .000001, }; return(result); }
public WebFleetRouteEstimate CalculateRoute(WebFleetSettings settings, WebFleetPosition startPosition, WebFleetPosition endPosition, bool useTraffic, DateTime?startDateTime = null) { if (!startPosition.HasValidPoints() || !endPosition.HasValidPoints()) { throw new Exception("Lat Long must be specified for start and end locations"); } var webService = new addressClient(); var result = new List <WebFleetRouteEstimate>(); var routingParam = new RoutingParameter() { useTraffic = true, useTrafficSpecified = true, endLatitude = endPosition.LatitudeInt.Value, endLongitude = endPosition.LongitudeInt.Value, startLatitude = startPosition.LatitudeInt.Value, startLongitude = startPosition.LongitudeInt.Value, routeType = RouteType.Quickest }; if (startDateTime != null) { routingParam.startDateTimeSpecified = true; routingParam.startDateTime = startDateTime; } var response = webService.calcRouteSimple(GetAuthenticationParameters(), GetGeneralParameters(), routingParam); if (HandleResult(response)) { result.AddRange(from RoutingData route in response.results select _mappingService.Map(route)); } return(result.FirstOrDefault()); }