Отрицательный результат для матрицы расстояний Bing Maps с транзитом - PullRequest
0 голосов
/ 03 июля 2019

Я использую результаты Bing Maps Api для расчета расстояний между двумя точками.Используя «Грузовик» или «Вождение» в качестве TravelType, я получаю разумные результаты.Когда я использую «Транзит», мой результат - «-1».Но я использую только города или станции, которые, как я знаю, подключены.Где моя вина?

//The class
 public async Task<double> DistanceTrain(string start, string ziel)
        {
            double km = 0;
            try
            {
                var req = new DistanceMatrixRequest()
                {

                    BingMapsKey = "*****************",
                    Origins = new List<SimpleWaypoint>()
                {
                    new SimpleWaypoint(start)
                },

                    Destinations = new List<SimpleWaypoint>()
                {
                    new SimpleWaypoint(ziel)
                },
                    DistanceUnits = DistanceUnitType.Kilometers,
                    TravelMode = TravelModeType.Transit
                };
                Response res = await req.Execute();
                Resource r = res.ResourceSets[0].Resources[0];
                DistanceMatrix m = r as DistanceMatrix;
                DistanceMatrixCell c = m.Results[0];
                //txtDist.Text = "Distanz: " + c.TravelDistance.ToString("n1") + " km";
                km = c.TravelDistance;
            }
            catch (Exception e1)
            {
                MessageBox.Show(e1.Message);
            }
            return km;
        }
//The instance call
private async void metroButton1_Click(object sender, EventArgs e)
        {
            distance Train = new distance();
            double km = await Train.DistanceTrain(txtOrigTrain.Text, txtDestTrain.Text);
            MessageBox.Show(km.ToString());
            double freight = Convert.ToDouble(txtFreightTrain.Text);
            MessageBox.Show(freight.ToString());
            double co2e = ((freight * 32.2 * km) / 1000) * 0.574;
            MessageBox.Show("CO2e emission: " + co2e.ToString() + " kg.");
        }
...