Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用BingMapsRESTToolkit获取距离时缺少最后一步_C#_Bing Maps_Bing Api - Fatal编程技术网

C# 使用BingMapsRESTToolkit获取距离时缺少最后一步

C# 使用BingMapsRESTToolkit获取距离时缺少最后一步,c#,bing-maps,bing-api,C#,Bing Maps,Bing Api,我需要使用可以找到的BinMapsRESTToolkit计算两个位置之间的距离 但是,文档仅列出了属性和方法,但没有关于如何使用这些属性和方法的示例 到目前为止我得到的是这个 async Task<double> CalculateDistanceWithBingAPI(string from, string to, DataRow row) { double Result = 0; DistanceMatrixRequest dm = new DistanceMa

我需要使用可以找到的BinMapsRESTToolkit计算两个位置之间的距离

但是,文档仅列出了属性和方法,但没有关于如何使用这些属性和方法的示例

到目前为止我得到的是这个

async Task<double> CalculateDistanceWithBingAPI(string from, string to, DataRow row)
{
    double Result = 0;

    DistanceMatrixRequest dm = new DistanceMatrixRequest();
    dm.BingMapsKey = Settings.BingKey;
    dm.TravelMode = TravelModeType.Truck;

    dm.Origins = new List<SimpleWaypoint>();
    dm.Destinations = new List<SimpleWaypoint>();

    dm.Origins.Add(new SimpleWaypoint(from));
    dm.Destinations.Add(new SimpleWaypoint(to));

    var x = await dm.Execute();

    //row["Distance"] = dm.??????

    return Result;
}
async Task CalculatedInstanceWithBingAPI(字符串从、字符串到、数据行)
{
双结果=0;
DistanceMatrixRequest dm=新的DistanceMatrixRequest();
dm.BingMapsKey=Settings.BingKey;
dm.TravelMode=TravelModeType.Truck;
dm.Origins=新列表();
dm.Destinations=新列表();
dm.Origins.Add(新的SimpleWaypoint(from));
添加(新SimpleWaypoint(to));
var x=wait dm.Execute();
//行[“距离”]=dm。??????
返回结果;
}
它执行时不抛出异常,但在执行行
var x=await dm.Execute()之后执行调试器跳出此过程

如果我在没有
await
的情况下调用它,那么变量
x
的值为“尚未计算”

在调用
Execute()
之后,我不知道如何从object DistanceMatrixRequest检索实际距离。它没有事件,没有可以保存信息的属性,也没有有用的文档


要么我很接近,但错过了最后一步,要么我在这里使用了完全错误的方法,因此我可以在这里使用一些帮助。

您需要在
距离矩阵请求中调用
GetEuclideAndInstanceMatrix
,然后通过
距离矩阵.GetDistanceMatrix
获得距离

DistanceMatrixRequest request = new DistanceMatrixRequest();
// ...
DistanceMatrix matrix = await request.GetEuclideanDistanceMatrix();
double distance = matrix.GetDistance(...);