/// <summary> /// 构造函数 /// </summary> public MapDownloader(RegionTask task) { m_totalCount = task.TaskCount; var tasks = Enumerable.Empty <MapLine>(); foreach (var t in task) { tasks = tasks.Concat(t); } m_taskQueue = new ConcurrentQueue <MapLine>(tasks); var test = m_taskQueue.Sum(o => o.TaskCount); }
private static void Main(string[] args) { var regionList = File.ReadAllText("city.txt").Split( new[] { "$$" }, StringSplitOptions.RemoveEmptyEntries); var task = new RegionTask(1, 14); foreach (var region in regionList) { var points = region.Split(';'); IList <MercatorPoint> ml = new List <MercatorPoint>(); foreach (var p in points) { var location = p.Split(','); var lng = Convert.ToDouble(location[0]); var lat = Convert.ToDouble(location[1]); var m = BaiduProjection.Instance.CoordinateToMercator(lat, lng); ml.Add(m); } task.AddRegion(ml); } task.CalculateQuest(); foreach (var zoom in task) { File.WriteAllText($"Zoom{zoom.Zoom}.txt", zoom.ToString()); } var downloader = new MapDownloader(task); while (!downloader.IsComplete) { Console.WriteLine(downloader.GetDescription()); Thread.Sleep(5000); } Console.ReadLine(); }