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(); } } }
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; } } }