public static List <AvoidType> Avoid(IRouteOptions options) { if (options == null) { options = Maps.DefaultOptions; } var list = new List <AvoidType>(); switch (options.HighwaysRestriction) { case Restriction.Avoid: list.Add(AvoidType.Highways); break; case Restriction.Minimize: list.Add(AvoidType.MinimizeHighways); break; } switch (options.TollsRestriction) { case Restriction.Avoid: list.Add(AvoidType.Tolls); break; case Restriction.Minimize: list.Add(AvoidType.MinimizeTolls); break; } return(list); }
public static RouteOptimizationType Optimization(IRouteOptions options) { var optimization = options?.Optimization; if (optimization == null || optimization == Drums.Optimization.Default) { optimization = Maps.DefaultOptions.Optimization; } switch (optimization) { case Drums.Optimization.Distance: return(RouteOptimizationType.Distance); case Drums.Optimization.Time: return(RouteOptimizationType.Time); case Drums.Optimization.TimeWithTraffic: return(RouteOptimizationType.TimeWithTraffic); case Drums.Optimization.TimeAvoidClosure: return(RouteOptimizationType.TimeAvoidClosure); default: return(RouteOptimizationType.TimeWithTraffic); } }
public void Init() { _urlHelper = Substitute.For <UrlHelper>(); _routeOptions = Substitute.For <IRouteOptions>(); _urlHelper .Route("test", Arg.Is <Object>(value => (Guid) new HttpRouteValueDictionary(value)["id"] == new Guid(Id))) .Returns($"/{Id}/test"); _routeOptions .GetNotesRouteName() .Returns("test"); _urlLocationHelper = new UrlLocationHelper(_urlHelper, _routeOptions); }
string TravelMode(IRouteOptions options) { switch (options?.TravelMode) { case Drums.TravelMode.Walking: return("walking"); case Drums.TravelMode.Bicycle: return("bicycling"); case Drums.TravelMode.Transit: return("transit"); default: return("driving"); } }
public override Uri GetDirectionsUri(ILocation from, ILocation dest, IRouteOptions options) { Guard.ArgumentNotNull(dest, nameof(dest)); var destination = Escape(Location(dest)); var travelmode = TravelMode(options); string uri; if (from == null) { uri = $"{DirectionsBaseUri}&destination={destination}&travelmode={travelmode}"; } else { var origin = Escape(Location(from)); uri = $"{DirectionsBaseUri}&origin={origin}&destination={destination}&travelmode={travelmode}"; } return(new Uri(uri)); }
public static TravelModeType TravelMode(IRouteOptions options) { var travelMode = options?.TravelMode; switch (travelMode) { case Drums.TravelMode.Walking: return(TravelModeType.Walking); case Drums.TravelMode.Transit: return(TravelModeType.Transit); case Drums.TravelMode.Truck: return(TravelModeType.Truck); default: return(TravelModeType.Driving); } }
public override Uri GetDirectionsUri(IList <ILocation> stops, IRouteOptions options) { if (stops == null || stops.Count < 2) { throw new ArgumentException("Insufficient number of stops", nameof(stops)); } foreach (var stop in stops) { if (stop == null || (!stop.HasAddress && !stop.HasCoordinate)) { throw new ArgumentException("Invalid stop in the list", nameof(stops)); } } var origin = Escape(Location(stops[0])); var destination = Escape(Location(stops[stops.Count - 1])); var travelmode = TravelMode(options); string uri; if (stops.Count == 2) { uri = $"{DirectionsBaseUri}&origin={origin}&destination={destination}&travelmode={travelmode}"; } else { var waypoints = string.Empty; for (int i = 1; i < stops.Count - 1; i++) { var stop = stops[i]; if (waypoints.Length > 0) { waypoints += '|'; } waypoints += Location(stop); } waypoints = Escape(waypoints); uri = $"{DirectionsBaseUri}&origin={origin}&destination={destination}&waypoints={waypoints}&travelmode={travelmode}"; } return(new Uri(uri)); }
public override Uri GetDirectionsUri(IList <ILocation> stops, IRouteOptions options) => throw new NotImplementedException();
public abstract Task <IRouteInfo> GetRouteInfo(IEnumerable <IWaypoint> waypoints, IRouteOptions options);
public override Uri GetDirectionsUri(ILocation from, ILocation dest, IRouteOptions options) { var uri = string.Format("bingmaps:?rtp={0}~{1}", LocationStr(from), LocationStr(dest)); return(new Uri(uri)); }
public UrlLocationHelper(UrlHelper helper, IRouteOptions routeOptions) { _urlHelper = helper; _routeOptions = routeOptions; }
public Task OpenDirections(ILocation from, ILocation dest, IRouteOptions options) { var uri = GetDirectionsUri(from, dest, options); return(OpenMapUri(uri)); }
public Task OpenDirections(IList <ILocation> stops, IRouteOptions options) { var uri = GetDirectionsUri(stops, options); return(OpenMapUri(uri)); }
public abstract Uri GetDirectionsUri(IList <ILocation> stops, IRouteOptions options);
public abstract Uri GetDirectionsUri(ILocation from, ILocation dest, IRouteOptions options);