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