Exemplo n.º 1
0
        public void Start(ExportParameter exportParameter, string mysqlConnString)
        {
            if (exportParameter != null)
            {
                this.exportParameter = exportParameter;
                this.mapProvider     = exportParameter.MapProvider;
                this.connString      = mysqlConnString;

                ExportLayerConfig arcGisLayerConfig = new ExportLayerConfig(exportParameter.ExportRect, exportParameter.MinZoom,
                                                                            exportParameter.MaxZoom, exportParameter.MapProvider, exportParameter.ExportPath);
                bool isConfigFileSuccess = true;
                if (exportParameter.ExportType == ExportType.ArcGISTile)
                {
                    if (!arcGisLayerConfig.CreateArcGISMetaFile())
                    {
                        isConfigFileSuccess = false;
                        MessageBox.Show("创建ArcGIS图层描述文件失败!");
                    }
                }
                else if (exportParameter.ExportType == ExportType.TMSTile)
                {
                    if (!arcGisLayerConfig.CreateTmsMetaFile())
                    {
                        isConfigFileSuccess = false;
                        MessageBox.Show("创建TMS图层描述文件失败!");
                    }
                }

                if (isConfigFileSuccess)
                {
                    if (this.TileExportStart != null)
                    {
                        TileExportStart(this, new TileExportEventArgs());
                    }

                    worker.RunWorkerAsync();
                }
            }
        }
Exemplo n.º 2
0
        private void button2_Click(object sender, EventArgs e)
        {
            exportParameter = new ExportParameter();

            GMapProvider mapProvider = this.comboBoxMapProvider.SelectedItem as GMapProvider;

            if (mapProvider != null)
            {
                ExportType exportType = ExportType.DefaultXYTile;
                int        index      = this.comboBoxExportType.SelectedIndex;
                switch (index)
                {
                case 0:
                    exportType = ExportType.DefaultXYTile;
                    break;

                case 1:
                    exportType = ExportType.DefaultYXTile;
                    break;

                case 2:
                    exportType = ExportType.ArcGISTile;
                    break;

                case 3:
                    exportType = ExportType.TMSTile;
                    break;

                case 4:
                    exportType = ExportType.BaiduTile;
                    break;
                }

                if (exportType == ExportType.BaiduTile && !(mapProvider is BaiduMapProviderBase))
                {
                    MessageBox.Show("只有百度地图才能导出为百度切片");
                    return;
                }

                int minZ = int.Parse(this.textBoxMinZoom.Text);
                int maxZ = int.Parse(this.textBoxMaxZoom.Text);
                minZ = minZ <= 0 ? 1 : minZ;
                int providerMaxZoom = mapProvider.MaxZoom.Value;
                maxZ = maxZ >= providerMaxZoom ? providerMaxZoom : maxZ;

                string rootPath = this.textBox1.Text;
                if (string.IsNullOrEmpty(rootPath))
                {
                    MessageBox.Show("导出路劲不能为空!");
                }
                else
                {
                    exportParameter.ExportPath  = rootPath;
                    exportParameter.ExportRect  = mapProvider.Projection.Bounds;
                    exportParameter.MinZoom     = minZ;
                    exportParameter.MaxZoom     = maxZ;
                    exportParameter.MapProvider = mapProvider;
                    exportParameter.ExportType  = exportType;

                    this.DialogResult = System.Windows.Forms.DialogResult.OK;
                }
            }
        }