public void UpdateState(MapArea m) { string n = m.ToString(); //Check that we are matching the state of the current mapMarker if (n == m_areaAsString) { //If so, then check that we are not already animating, make sure the states in the Animator have a tag that matches the MapArea enum... if (!m_animator.GetCurrentAnimatorStateInfo(0).IsTag(n)) { m_animator.SetTrigger(n); } } else if (!m_animator.GetCurrentAnimatorStateInfo(0).IsTag("Default")) { m_animator.SetTrigger("Default"); } }
/// <summary> /// Gets a URL for requesting imagery data for a POST request. /// </summary> /// <returns>Imagery request URL for POST request.</returns> public string GetPostRequestUrl() { var isQuery = !string.IsNullOrWhiteSpace(Query); var isRoute = (Waypoints != null && Waypoints.Count >= 2); var sb = new StringBuilder(this.Domain); sb.Append("Imagery/Map/"); sb.Append(Enum.GetName(typeof(ImageryType), ImagerySet)); if (CenterPoint != null) { sb.AppendFormat(CultureInfo.InvariantCulture, "/{0:0.#####},{1:0.#####}/", CenterPoint.Latitude, CenterPoint.Longitude); if (zoomLevel != 0) { sb.Append(zoomLevel); } else if (HighlightEntity) { sb.Append(Enum.GetName(typeof(EntityType), EntityType)); } else if (ImagerySet == ImageryType.Road || ImagerySet == ImageryType.Aerial || ImagerySet == ImageryType.AerialWithLabels || ImagerySet == ImageryType.RoadOnDemand || ImagerySet == ImageryType.AerialWithLabelsOnDemand || ImagerySet == ImageryType.CanvasDark || ImagerySet == ImageryType.CanvasGray || ImagerySet == ImageryType.CanvasLight) { throw new Exception("Zoom Level must be specified when a centerPoint is specified and ImagerySet is Road, Aerial, AerialWithLabels, or any variation of these (Canvas/OnDemand)."); } } else if (isQuery) { sb.AppendFormat("/{0}", Uri.EscapeDataString(Query)); } if (isRoute) { sb.AppendFormat("/Routes/{0}?", Enum.GetName(typeof(TravelModeType), (RouteOptions != null) ? RouteOptions.TravelMode : TravelModeType.Driving)); } else { sb.Append("?"); } sb.AppendFormat("ms={0},{1}", mapWidth, mapHeight); if (DeclutterPins) { sb.Append("&dcl=1"); } if (Format.HasValue) { sb.AppendFormat("&fmt={0}", Enum.GetName(typeof(ImageFormatType), Format.Value)); } if (MapArea != null && (CenterPoint == null || !isRoute)) { sb.AppendFormat("&ma={0}", MapArea.ToString()); } if (ShowTraffic) { sb.Append("&ml=TrafficFlow"); } if (GetMetadata) { sb.Append("&mmd=1"); } if (HighlightEntity) { sb.Append("&he=1"); } if (Resolution == ImageResolutionType.High) { sb.Append("&dpi=Large"); } //Routing Parameters if (isRoute) { if (Waypoints.Count > 25) { throw new Exception("More than 25 waypoints in route request."); } for (int i = 0; i < Waypoints.Count; i++) { sb.AppendFormat("&wp.{0}=", i); if (Waypoints[i].Coordinate != null) { sb.AppendFormat(CultureInfo.InvariantCulture, "{0:0.#####},{1:0.#####}", Waypoints[i].Coordinate.Latitude, Waypoints[i].Coordinate.Longitude); } else { sb.AppendFormat("{0}", Uri.EscapeDataString(Waypoints[i].Address)); } } if (RouteOptions != null) { sb.Append(RouteOptions.GetUrlParam(0)); } } sb.Append(GetBaseRequestUrl()); if (!string.IsNullOrWhiteSpace(Style)) { var s = CustomMapStyleManager.GetRestStyle(Style); if (!string.IsNullOrWhiteSpace(s)) { sb.AppendFormat("&st={0}", s); } } return(sb.ToString()); }
public async Task GetTrafficIncidents_IncidentTypesSeverityMapArea_ValidTrafficIncidents() { IRestRequest request = null; var serviceMock = new Mock <BingTraffic>(); serviceMock.Setup(zc => zc.ExecuteAsync <Response>(It.IsAny <IRestRequest>())) .Callback <IRestRequest>(r => request = r) .CallBase(); var service = serviceMock.Object; var mapArea = new MapArea(37, -105, 45, -94); var parameters = new TrafficIncidentsParameters(mapArea); parameters.IncludeLocationCodes = true; parameters.Severity = new[] { Severity.Minor, Severity.Moderate }; parameters.TrafficIncidentTypes = new[] { TrafficIncidentType.Construction }; var response = await service.GetTrafficIncidents(parameters); serviceMock.Verify(zc => zc.ExecuteAsync <Response>(It.IsAny <IRestRequest>()), Times.Once); Assert.That(response, Is.Not.Null); Assert.That(response.ResourceSets.Length, Is.GreaterThan(0)); Assert.That(response.ResourceSets.First().Resources.OfType <TrafficIncident>().Count(), Is.GreaterThan(0)); Assert.That(request, Is.Not.Null); Assert.That(request.Method, Is.EqualTo(Method.GET)); Assert.That(request.Resource, Is.EqualTo("Traffic/Incidents/{MapArea}/")); Assert.That(request.Parameters.Find(x => x.Name == "version"), Is.Not.Null); Assert.That(request.Parameters.Find(x => x.Name == "key"), Is.Not.Null); Assert.That(request.Parameters.Find(x => x.Name == "o"), Is.Not.Null); Assert.That(request.Parameters.Find(x => x.Name == "c"), Is.Not.Null); Assert.That(request.Parameters.Find(x => x.Name == "MapArea"), Is.Not.Null); Assert.That(request.Parameters.Find(x => x.Name == "MapArea").Value, Is.EqualTo(mapArea.ToString())); Assert.That(request.Parameters.Find(x => x.Name == "includeLocationCodes"), Is.Not.Null); Assert.That(request.Parameters.Find(x => x.Name == "includeLocationCodes").Value, Is.EqualTo(parameters.IncludeLocationCodes.ToString())); Assert.That(request.Parameters.Find(x => x.Name == "s"), Is.Not.Null); Assert.That(request.Parameters.Find(x => x.Name == "s").Value, Is.EqualTo(parameters.Severity.ToCSVString())); Assert.That(request.Parameters.Find(x => x.Name == "t"), Is.Not.Null); Assert.That(request.Parameters.Find(x => x.Name == "t").Value, Is.EqualTo(parameters.TrafficIncidentTypes.ToCSVString())); }
void Start() { m_animator = this.GetComponent <Animator> () as Animator; m_areaAsString = m_area.ToString(); }
/// <summary> /// Gets a URL for requesting imagery data for a POST request. /// </summary> /// <returns>Imagery request URL for POST request.</returns> public string GetPostRequestUrl() { var isQuery = !string.IsNullOrWhiteSpace(Query); var isRoute = (Waypoints != null && Waypoints.Count >= 2); var sb = new StringBuilder(); sb.Append("https://dev.virtualearth.net/REST/v1/Imagery/Map/"); sb.Append(Enum.GetName(typeof(ImageryType), ImagerySet)); if (CenterPoint != null) { sb.AppendFormat(CultureInfo.InvariantCulture, "/{0:0.#####},{1:0.#####}/", CenterPoint.Latitude, CenterPoint.Longitude); if (zoomLevel != 0) { sb.Append(zoomLevel); } else if (HighlightEntity) { sb.Append(Enum.GetName(typeof(EntityType), EntityType)); } else if (ImagerySet == ImageryType.Road || ImagerySet == ImageryType.Aerial || ImagerySet == ImageryType.AerialWithLabels) { throw new Exception("A zoom level or Entity type must be specified when when a center point is specified."); } } else if (isQuery) { sb.AppendFormat("/{0}", Uri.EscapeDataString(Query)); } if (isRoute) { sb.AppendFormat("/Routes/{0}?", Enum.GetName(typeof(TravelModeType), (RouteOptions != null) ? RouteOptions.TravelMode : TravelModeType.Driving)); } else { sb.Append("?"); } sb.AppendFormat("ms={0},{1}", mapWidth, mapHeight); if (DeclutterPins) { sb.Append("&dcl=1"); } if (Format.HasValue) { sb.AppendFormat("&fmt={0}", Enum.GetName(typeof(ImageFormatType), Format.Value)); } if (MapArea != null && (CenterPoint == null || !isRoute)) { sb.AppendFormat("&ma={0}", MapArea.ToString()); } if (ShowTraffic) { sb.Append("&ml=TrafficFlow"); } if (GetMetadata) { sb.Append("&mmd=1"); } if (HighlightEntity) { sb.Append("&he=1"); } //Routing Parameters if (isRoute) { if (Waypoints.Count > 25) { throw new Exception("More than 25 waypoints in route request."); } for (int i = 0; i < Waypoints.Count; i++) { sb.AppendFormat("&wp.{0}=", i); if (Waypoints[i].Coordinate != null) { sb.AppendFormat("{0:0.#####},{1:0.#####}", Waypoints[i].Coordinate.Latitude, Waypoints[i].Coordinate.Longitude); } else { sb.AppendFormat("{0}", Uri.EscapeDataString(Waypoints[i].Address)); } } if (RouteOptions != null) { sb.Append(RouteOptions.GetUrlParam()); } } sb.Append(GetBaseRequestUrl()); return(sb.ToString()); }