Exemple #1
0
        private void button3_Click(object sender, EventArgs e)
        {
            if (txtCreateName.Text == string.Empty)
            {
                MessageBox.Show("Please select area");
                return;
            }
            string area = txtCreateName.Text;

            tilesBlock = new List <TileBlock>();

            foreach (string file in Directory.EnumerateFiles(m_baseDir + area, "*.png", SearchOption.AllDirectories))
            {
                string[]  fileparts = file.Split('_');
                string [] s         = fileparts[0].Split(Path.DirectorySeparatorChar);
                var       dirName   = s[2];
                TileBlock t         = new TileBlock();
                t.x      = int.Parse(fileparts[2]);
                t.y      = int.Parse(fileparts[3]);
                t.pixelx = int.Parse(fileparts[4]);
                t.pixely = int.Parse(fileparts[5]);
                t.zoom   = int.Parse(fileparts[1]);
                PixelXYToLatLongOSM(t.pixelx, t.pixely, t.zoom, out t.lat, out t.lon);
                t.fileName = file;
                t.name     = dirName;
                tilesBlock.Add(t);
            }
            TileDB db = new TileDB(m_baseDir + area + "\\tiles_lat_lon_db.json");

            db.Save(tilesBlock);
            MessageBox.Show("Created");

            if (mapControl1.LoadMapData(m_baseDir + area + "\\tiles_lat_lon_db.json", out string outMessage) == true)
            {
                //mapControl1.ShowLatLon(txtCreateName.Text, int.Parse(cmbZoom.Text));
                m_initdone = true;
            }
            else
            {
                MessageBox.Show(outMessage);
            }
        }