/// <summary> /// 打开网点信息 /// </summary> /// <param name="filePath"></param> /// <returns></returns> private List <SiteInfo> OpenFile(String filePath) { DataTable dt = ExcelHelper.ExcelToDataTable("输入", true, filePath); List <SiteInfo> lstSite = ConvertHelper <SiteInfo> .ConvertToList(dt); foreach (var site in lstSite) { Geocoder geocoder = JsonHelper.JsonDeserialize <Geocoder>(BaiduMap.Geocoder(site.address)); site.lat = geocoder.result.location.lat; site.lng = geocoder.result.location.lng; } return(lstSite); }
private void calcDistance(object param) { var p = (Tuple <int, EventWaitHandle>)param; int start = int.Parse(p.Item1.ToString()) * 2000; for (int i = start; i < start + 2000; i++) { if (i + 1 > sorceList.Count) { break; } SiteDistance item = sorceList[i]; if (item.startCode != item.endCode) { Geocoder result = JsonHelper.JsonDeserialize <Geocoder>(BaiduMap.Driving(item.startlat.ToString() + "," + item.startlng.ToString(), item.endlat.ToString() + "," + item.endlng.ToString())); if (result != null && result.result != null && result.result.routes != null && result.result.routes.Count > 0) { item.distance = result.result.routes[0].distance; item.runTime = result.result.routes[0].duration / 60; item.steps = GetSteps(result.result.routes[0].steps); } } else { item.distance = 0; item.runTime = 0; } item.sn = i; deslist.Add(item); LogHelper.WriteLog(typeof(Form1), deslist.Count.ToString()); if (deslist.Count == sorceList.Count) { expExcel(deslist); } } }