我正在调用Bing Maps Api结果来计算两点之间的距离。使用“ Truck”或“ Driving”作为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.");
}