我正在尝试执行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;
}