예제 #1
0
        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
        }
예제 #2
0
        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
        }
예제 #3
0
        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
        }
예제 #4
0
        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
        }