public static route getRoute(point from, point to) { route r = new route(); r.duration = r.distance = 0; modifiedRoute mr = new modifiedRoute(); mr.from = from; mr.to = to; Task t = Task.Factory.StartNew(delegate { Amap.getRoute(ref mr); }); try { t.Wait(500); if (t.IsCompleted) { r.distance = mr.distance; r.duration = mr.duration; } } catch (Exception) { return(r); } finally { GC.Collect(); } return(r); }
public static point getPointByName(string name) { point p = new point(); p.lat = 0; p.lon = 0; try { name = extractAddress(name); modifiedPoint mp = new modifiedPoint(); mp.str = name; Task t = Task.Factory.StartNew(delegate { Amap.getPointByName(ref mp); }); t.Wait(400); if (t.IsCompleted) { p.lat = mp.lat; p.lon = mp.lon; } } catch (Exception) { return(p); } finally { GC.Collect(); } return(p); }