Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        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);
                }
            }
        }