private void ToolStripMenuItemAddOsmLayer_Click(object sender, EventArgs e) { FormSelectOsmDataSource dlg = new FormSelectOsmDataSource(); dlg.DumpAvailable = (this.osmDumpObjects != null); if (dlg.ShowDialog() == DialogResult.OK) { OsmObjectFilter filter = null; if (dlg.FilterFile.Length != 0) { FileStream file = new FileStream(dlg.FilterFile,FileMode.Open, FileAccess.Read); filter = FilterHandler.CreateFilter(file); file.Close(); } if (dlg.Selection == DataSource.OsmOnlineApi) { if (getDataThread.Running) { MessageBox.Show("please wait for finish of running api call", "Scout"); } else { Coordinate leftBottom = new Coordinate(0, 0); Coordinate rightTop = new Coordinate(0, 0); this.getBoundingBox(ref leftBottom, ref rightTop); getDataThread.Filter = filter; getDataThread.LeftBottom = leftBottom; getDataThread.RightTop = rightTop; getDataThread.Method = ThreadGetData.METHOD.GetMapOnline; Thread t = new Thread(new ThreadStart(getDataThread.ThreadProc)); t.Start(); DownloadInProgress = true; CallMapChangedDelegate(); } } else if (dlg.Selection == DataSource.OsmDatabaseDump) { string desc = string.Empty; if (filter != null) { desc = filter.Description; } layers.Add(new OsmLayer(FilterHandler.ApplyFilter(filter, osmDumpObjects), desc)); this.Invalidate(); } } }
private void ToolStripMenuItemaddNewOsmRelationLayerDump_Click(object sender, EventArgs e) { FormSelectOsmDataSource dlg = new FormSelectOsmDataSource(); dlg.DumpAvailable = (this.osmDumpObjects != null); if (dlg.ShowDialog() == DialogResult.OK) { if (dlg.Selection == DataSource.OsmOnlineApi) { AddOnlineRelationLayer(); } else if (dlg.Selection == DataSource.OsmDatabaseDump) { FormSelectRelation dlgRel = new FormSelectRelation(); dlgRel.Relations = osmDumpObjects.Relations; if (DialogResult.OK == dlgRel.ShowDialog()) { layers.Add(new OsmRelationLayer(osmDumpObjects, dlgRel.SelectedRelation)); } this.Invalidate(); } } }