public void LoadStations(string query) { this.Items.Clear(); //this._query = query; UriBuilder fullUri = new UriBuilder(API_BASE + TRIP_REQUEST); // Common request fields (required) fullUri.Query = "outputFormat=XML" //+ "&coordOutputFormat=WGS84" + "&type_origin=any" + "&name_origin=" + query; // initialize a new WebRequest HttpWebRequest getStationsRequest = (HttpWebRequest)WebRequest.Create(fullUri.Uri); ///this is main //ResultTextBox.Text = ResultTextBox.Text + (ResultTextBox.Text.Length > 0 ? "\n\n" : string.Empty) + fullUri.Uri; // set up the state object for the async request QueryUpdateState queryUpdateState = new QueryUpdateState(); queryUpdateState.AsyncRequest = getStationsRequest; // start the asynchronous request getStationsRequest.BeginGetResponse(new AsyncCallback(AsyncResponseLoadStations), queryUpdateState); // this is still main thread }
public void XmlCoordRequest(double lat, double lon, int maxDistance, int maxStations) { UriBuilder fullUri = new UriBuilder(API_BASE + COORD_REQUEST); // Common request fields (required) fullUri.Query = "coord=" + String.Format(CultureInfo.InvariantCulture.NumberFormat, "{0:0.000000}:{1:0.000000}:WGS84", lon, lat) + "outputFormat=XML" + "&coordOutputFormat=WGS84&coordListOutputFormat=STRING" + "&max=" + (maxStations != 0 ? maxStations : 50) + "&inclFilter=1&radius_1=" + (maxDistance != 0 ? maxDistance : 1320) + "&type_1=STOP"; //if (additionalQueryParameter != null) // uri = uri + "&" additionalQueryParameter; // efa.mobilitaetsverbund.de/web/XML_COORD_REQUEST?coord=11.021090:49.587970:WGS84&coordOutputFormat=WGS84&coordListOutputFormat=STRING&max=20&inclFilter=1&radius_1=1000&type_1=STOP // initialize a new WebRequest HttpWebRequest getStationsRequest = (HttpWebRequest)WebRequest.Create(fullUri.Uri); ///this is main // set up the state object for the async request QueryUpdateState queryUpdateState = new QueryUpdateState(); queryUpdateState.AsyncRequest = getStationsRequest; // start the asynchronous request getStationsRequest.BeginGetResponse(new AsyncCallback(HandleCoordResponse), queryUpdateState); // this is still main thread }
public void RetrieveConnections(DateTime time, int originId, int destinationId) { //if (time == null) Connection.Time = DateTime.Now; //else Connection.Time = time; UriBuilder fullUri = new UriBuilder(API_BASE + TRIP_REQUEST); fullUri.Query = "language=de" + "&outputFormat=XML" + "&coordListOutputFormat=STRING" + "&coordOutputFormat=WGS84" + "&calcNumberOfTrips=4" + "&type_origin=stop&name_origin=" + originId + "&type_destination=stop&name_destination=" + destinationId + "&itdDate=" + string.Format("{0:yyyyMMdd}", time) + "&itdTime=" + string.Format("{0:HHmm}", time) + "&itdTripDateTimeDepArr=dep" + "&ptOptionsActive=1" + "&changeSpeed=normal" // 0="R-Bahn", 1="IR", 2="U-Bahn", 4="Tram, 5="Stadtbus", 6="Regional-Bus", 7="", 11="Others" + "&includedMeans=checkbox&inclMOT_0=on&inclMOT_1=on&inclMOT_2=on&inclMOT_4=on&inclMOT_5=on&inclMOT_7=on&inclMOT_11=on" + "&locationServerActive=1" + "&useRealtime=1"; HttpWebRequest getConnectionsRequest = (HttpWebRequest)WebRequest.Create(fullUri.Uri); ///this is main // set up the state object for the async request QueryUpdateState queryUpdateState = new QueryUpdateState(); queryUpdateState.AsyncRequest = getConnectionsRequest; // start the asynchronous request getConnectionsRequest.BeginGetResponse(new AsyncCallback(HandleConnectionsResponse), queryUpdateState); // this is still main thread }
public void LoadDepartures(int stopId) { UriBuilder fullUri = new UriBuilder(API_BASE + string.Format(DEPARTURE_URI, stopId)); ResultTextBox.Text = ResultTextBox.Text + "\n\nDEPARTURES:\n-----------\n" + fullUri.Uri; HttpWebRequest getConnectionsRequest = (HttpWebRequest)WebRequest.Create(fullUri.Uri); ///this is main // set up the state object for the async request QueryUpdateState queryUpdateState = new QueryUpdateState(); queryUpdateState.AsyncRequest = getConnectionsRequest; // start the asynchronous request getConnectionsRequest.BeginGetResponse(new AsyncCallback(HandleDeparturesResponse), queryUpdateState); // this is still main thread }