击败Async Quagmire

时间:2014-02-13 02:07:50

标签: c# asynchronous

我正在尝试执行RouteQuery,但它只允许异步调用。不幸的是,当返回被命中时,它还没有完成QueryAsync()

有没有一种标准的解决方法?

通常我会启动一个计时器并等待一个属性填充,但这是对贫民窟的方式。必须有一个解决方案。

private bool wayPointHit(GeoCoordinate geo)
{
    RouteQuery query = new RouteQuery();
    List<GeoCoordinate> coords = new List<GeoCoordinate>();
    coords.Add(new GeoCoordinate(curLocation.Latitude, curLocation.Longitude));
    coords.Add(geo);

    query.Waypoints = coords;
    bool hit = false;

    query.QueryCompleted +=  (sender, args)  =>
    {
        var rt = args.Result;
        if (rt.LengthInMeters <= 20)
        {
            hit = true;

        }
    };
    query.QueryAsync();

    return hit;
}

0 个答案:

没有答案