MapxTreme2005地图打印
一、语言: c# net2003
二、组件:Mapxtreme2005
三、功能概述:
初步实现地图的加载,页面设置,打印预览及打印功能
五、实现思路与过程:
(当然在做这个程序的时候, Mapxtreme2005程序是必须安装的)
1. 启动 Microsoft Visual Studio .NET 2003,新建工程,在项目类型中选择MapXtreme6.5项目下的c#项目(当然,你可创建基于vb的工程,但该程序是建立在c# 项目上的),然后在模板中选择[地图应用程序],当然你可创建其他的应用程序,如windows应用程序等,然后设置工程名,我这里设工程名为:PrintingDemo,当然你可设置自己喜爱的工程名;到这里一个具有GIS基本功能的程序已设置完成,运行一下,是不是在MapX中花很大力气完成的功能,在这里并不需写一个字母,这就是[地图应用程序]模板的效果,让你快速搭建自己的应用程序。
2.开始编写自己想要的功能程序,在这里首先我们添加一个[MainMenu],然后添加[文件]菜单,并在下面设置如下四个下拉菜单:
加载地图:mItAddmap,
页面设置:mItPageSetting,
打印预览:mItPrintPreview,
打印:
mItPrintting。
并处理他们的单击事件。
3.为了实现打印功能,添加引用 [ MapInfo.Windows.Printing],然后再添加using 指令:
using MapInfo.Mapping;
using System.Drawing.Printing;
using MapInfo.Printing ;
using MapInfo.Mapping.Thematics;
using MapInfo.Engine;using MapInfo.Windows.Dialogs;
4.实现相关单击功能:
添加三个变量:
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private MapInfo.Printing.MapPrinting mapPrinting;
private MapInfo.Printing.MapPrintDocument mapPrintDocument;
this.mapPrinting=new MapPrinting();
this.mapPrintDocument=new MapPrintDocument();
this.mapPrinting=new MapPrinting();
this.openFileDialog1=new System.Windows.Forms.OpenFileDialog();
加载地图的代码如下:
private void mItAddmap_Click(object sender, System.EventArgs e)
{
//进行文件的路径设置
openFileDialog1.InitialDirectory = Session.Current.TableSearchPath.Path;
//打开文件格式的自定义
openFileDialog1.Multiselect = true;
openFileDialog1.CheckFileExists = true;
openFileDialog1.DefaultExt = "TAB";
openFileDialog1.Filter = "MapInfo Tables (*.tab)|*.tab|" +"MapInfo Geoset (*.gst)|*.gst|" +"MapInfo WorkSpace (*.mws)|*.mws";
string strCantOpenList = null;
//判断不同类型的文档进行加载
if(openFileDialog1.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
foreach(string filename in openFileDialog1.FileNames)
try
{
if (filename.ToLower().EndsWith(MapLoader.FileExtensionGST))
mapControl1.Map.Load(new MapGeosetLoader(filename)); // add geoset
else if (filename.ToLower().EndsWith(MapLoader.FileExtensionWOR))
{
mapControl1.Map.Load(new MapWorkSpaceLoader(filename));
// add workspace
mapControl1.Map.Size = mapControl1.Size;
}
else mapControl1.Map.Load(new MapTableLoader(filename));
// add table
}
//若没找到正确的文件格式,则进行异常抛出
catch(MapException me)
{
if (strCantOpenList==null) strCantOpenList = me.Arg;
else strCantOpenList = strCantOpenList + ", " + me.Arg;
}
}
页面设置的代码如下:
private void mItPageSetting_Click(object sender, System.EventArgs e)
{
//加载当前地图
mapPrinting.Map = mapControl1.Map ;
//启动页面设置
mapPrinting.PageSettingsDialog ();
mapPrinting.PageSettings.PrinterSettings.PrinterResolutions.ToString();
}
打印预览的代码如下:
private void mItPrintPreview_Click(object sender, System.EventArgs e)
{
//加载当前地图
mapPrinting.Map = mapControl1.Map ;
//启动打印预览
mapPrinting.PrintPreview();
LegendPrinting legendPrinting=new LegendPrinting();
}
打印的代码如下:
private void mItPrintting_Click(object sender, System.EventArgs e)
{
//加载当前地图
mapPrinting.Map =mapControl1.Map ;
//加载打印对话框
mapPrinting.ShowDialog =true;
mapPrinting.Print();
if (mapPrintDocument != null)
{
//设置打印地图的基本属性
mapPrintDocument.DrawingAttributes.SpecialTransparentRasterHandling =false;
bmapPrintDocument.PrintMethod = PrintMethod.Direct;
}
}
5.说明,由于是初学,打印代码没有涉及更深层次的,比如在打印时用户可进行自行定义等。
一、语言: c# net2003
二、组件:Mapxtreme2005
三、功能概述:
初步实现地图的加载,页面设置,打印预览及打印功能
五、实现思路与过程:
(当然在做这个程序的时候, Mapxtreme2005程序是必须安装的)
1. 启动 Microsoft Visual Studio .NET 2003,新建工程,在项目类型中选择MapXtreme6.5项目下的c#项目(当然,你可创建基于vb的工程,但该程序是建立在c# 项目上的),然后在模板中选择[地图应用程序],当然你可创建其他的应用程序,如windows应用程序等,然后设置工程名,我这里设工程名为:PrintingDemo,当然你可设置自己喜爱的工程名;到这里一个具有GIS基本功能的程序已设置完成,运行一下,是不是在MapX中花很大力气完成的功能,在这里并不需写一个字母,这就是[地图应用程序]模板的效果,让你快速搭建自己的应用程序。
2.开始编写自己想要的功能程序,在这里首先我们添加一个[MainMenu],然后添加[文件]菜单,并在下面设置如下四个下拉菜单:
加载地图:mItAddmap,
页面设置:mItPageSetting,
打印预览:mItPrintPreview,
打印:
mItPrintting。
并处理他们的单击事件。
3.为了实现打印功能,添加引用 [ MapInfo.Windows.Printing],然后再添加using 指令:
using MapInfo.Mapping;
using System.Drawing.Printing;
using MapInfo.Printing ;
using MapInfo.Mapping.Thematics;
using MapInfo.Engine;using MapInfo.Windows.Dialogs;
4.实现相关单击功能:
添加三个变量:
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private MapInfo.Printing.MapPrinting mapPrinting;
private MapInfo.Printing.MapPrintDocument mapPrintDocument;
this.mapPrinting=new MapPrinting();
this.mapPrintDocument=new MapPrintDocument();
this.mapPrinting=new MapPrinting();
this.openFileDialog1=new System.Windows.Forms.OpenFileDialog();
加载地图的代码如下:
private void mItAddmap_Click(object sender, System.EventArgs e)
{
//进行文件的路径设置
openFileDialog1.InitialDirectory = Session.Current.TableSearchPath.Path;
//打开文件格式的自定义
openFileDialog1.Multiselect = true;
openFileDialog1.CheckFileExists = true;
openFileDialog1.DefaultExt = "TAB";
openFileDialog1.Filter = "MapInfo Tables (*.tab)|*.tab|" +"MapInfo Geoset (*.gst)|*.gst|" +"MapInfo WorkSpace (*.mws)|*.mws";
string strCantOpenList = null;
//判断不同类型的文档进行加载
if(openFileDialog1.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
foreach(string filename in openFileDialog1.FileNames)
try
{
if (filename.ToLower().EndsWith(MapLoader.FileExtensionGST))
mapControl1.Map.Load(new MapGeosetLoader(filename)); // add geoset
else if (filename.ToLower().EndsWith(MapLoader.FileExtensionWOR))
{
mapControl1.Map.Load(new MapWorkSpaceLoader(filename));
// add workspace
mapControl1.Map.Size = mapControl1.Size;
}
else mapControl1.Map.Load(new MapTableLoader(filename));
// add table
}
//若没找到正确的文件格式,则进行异常抛出
catch(MapException me)
{
if (strCantOpenList==null) strCantOpenList = me.Arg;
else strCantOpenList = strCantOpenList + ", " + me.Arg;
}
}
页面设置的代码如下:
private void mItPageSetting_Click(object sender, System.EventArgs e)
{
//加载当前地图
mapPrinting.Map = mapControl1.Map ;
//启动页面设置
mapPrinting.PageSettingsDialog ();
mapPrinting.PageSettings.PrinterSettings.PrinterResolutions.ToString();
}
打印预览的代码如下:
private void mItPrintPreview_Click(object sender, System.EventArgs e)
{
//加载当前地图
mapPrinting.Map = mapControl1.Map ;
//启动打印预览
mapPrinting.PrintPreview();
LegendPrinting legendPrinting=new LegendPrinting();
}
打印的代码如下:
private void mItPrintting_Click(object sender, System.EventArgs e)
{
//加载当前地图
mapPrinting.Map =mapControl1.Map ;
//加载打印对话框
mapPrinting.ShowDialog =true;
mapPrinting.Print();
if (mapPrintDocument != null)
{
//设置打印地图的基本属性
mapPrintDocument.DrawingAttributes.SpecialTransparentRasterHandling =false;
bmapPrintDocument.PrintMethod = PrintMethod.Direct;
}
}
5.说明,由于是初学,打印代码没有涉及更深层次的,比如在打印时用户可进行自行定义等。
发表评论
-
mapxtreme添加标记和删除标记
2009-03-30 16:23 1820新增2个pointselectiontool, clientc ... -
添加数据库中的经纬度信息
2009-03-30 16:22 1780C# Code: 复制内容到剪贴板 代码: MapInfo ... -
MapXtreme 2005自定义图层控制代码(WEB)
2009-03-30 16:21 1582虽然MapXtreme 2005 6.7.1提供了图层控制的控 ... -
MapxTreme测试:绘制图标和文字标注
2009-03-30 16:19 3700代码: using System; using System ... -
mapxtreme 2004 改变feature颜色
2009-03-30 16:18 15851.C# code: 复制内容到剪贴板 代码: MapI ... -
在C#应用中如何读取存在ORACLE(或SQL Server)中的MapInfo表
2009-03-30 16:17 1244using MapInfo.Data; ... -
MapXtreme 2005查找图元方法,web的
2009-03-30 16:16 1795先添加一个TextBox和 DropDownList控件 复 ... -
MapXtreme点取地图获得信息
2009-03-30 16:15 1896拖一个pointselectiontool到页面, 修改属性 ... -
MapXtreme查看整个地图的代码
2009-03-30 16:14 938Map map = mapControl1.Map; IMap ... -
MapXtreme 2005 鹰眼源代码
2009-03-30 16:13 1800研究了一段时间的MapXtreme2005 v6.6, 实现了 ... -
实现手动画线
2009-03-30 16:12 1247为了实现在地图上手动画线的功能,煞费了一翻苦心,不过最后实现的 ... -
Web页面中实现鼠标中键缩放
2009-03-30 16:11 1543在MapXtreme 2005中,在Windows应用程序中自 ... -
两种方法实现动态轨迹
2009-03-30 16:11 1387在GIS中,动态轨迹的实现是非常有用的,可用GPS定位,热点跟 ... -
总结查找图元的三种方法
2009-03-30 16:10 1259在MapXtreme 2005中,查找图元提供了非常多的方法, ... -
添加标注图层
2009-03-30 16:08 1183在MapXtreme 2005中添加标注图层是非常容易的,只要 ... -
向图层中添加线段
2009-03-30 16:07 945向图层中添加线段和向图层中添加点是一样的,其本质都是向图层中添 ... -
向图层中添加点
2009-03-30 16:06 1038在添加点之前先要在地图上创建一个临时图层,创建临时图层请参考《 ... -
mapxtreme2005 改变选中的图元样式
2009-03-30 16:05 1090MapInfo.Styles.CompositeStyle c ... -
Mapxtreme2005 两点之间画直线
2009-03-30 16:04 1155private void DrawLine(MapInfo.D ... -
mapxtreme2005 创建各种样式
2009-03-30 16:04 1138public MapInfo.Styles.Composite ...
相关推荐
- **打印支持**:为了满足用户在不同场景下的需求,MapXtreme2005提供了强大的打印支持功能,包括支持多种打印布局、输出格式和高级定制选项。 - **M/Z值在Shapefile中的应用**:Shapefile是一种常用的GIS数据格式。...
这使得用户可以轻松地将复杂地图打印成高质量的图像。 #### Shapefile中的M和Z值 MapXtreme 2005现在支持在Shapefile中存储M(测量值)和Z(高程)值。这一功能对于需要三维数据的应用非常有用。 #### ECW光栅...
7. **打印与导出**:示例可能涵盖如何设置打印参数,如比例尺、页边距,以及导出地图为PDF、图片等格式。 8. **地图样式与主题**:MapXtreme支持自定义图层样式,包括颜色、符号、标签等。通过示例,用户可以学会...
9. `3cc15b668bc0594e85256dba006cc8bc.html`: 可能讲解了如何使用MapXtreme for Java进行地图打印和导出,以及如何自定义打印布局。 10. `37283420ad0ae5ac85256bb20074887f.html`: 最后一个文件可能涵盖了地图的...
在这个项目中,用户可以通过Web浏览器访问和操作地理信息,实现地图浏览、查询、标注、打印等功能。 源码对于开发者来说是一份宝贵的资源,因为它揭示了MapXtreme如何在实际应用中工作,帮助我们理解其内部机制,...
总之,MapXtreme 2008 v6.8.0 的发布标志着在地图制作和地理信息系统领域的一个重大进步。无论是新功能还是性能改进,都为开发者提供了更多的可能性。通过阅读详细的发行说明文档,用户可以充分利用这些新特性来提升...
Mapxtreme for Java是一款强大的地图开发工具,专为构建地理信息系统(GIS)应用程序而设计。在本入门示例中,我们将深入理解如何使用Mapxtreme的Servlet类来创建和展示地图服务。Mapxtreme的核心功能在于它能将复杂...
MapXtreme提供了丰富的地图操作接口,包括但不限于地图的创建、显示、编辑和打印等。开发者可以利用MapXtreme提供的.NET组件在应用程序中实现地图数据的集成与可视化编程。 在C#环境下,MapXtreme的开发主要涉及...
1. **地图创建**:MapXtreme提供了强大的地图制作工具,用户可以自定义地图样式、图层、比例尺等,创建符合需求的地图视图。这包括添加地理坐标系统、投影转换、图层管理和符号化设置。 2. **数据管理**:软件支持...
- **地图打印**:支持地图的自定义布局和高分辨率打印。 3. **动画制作:** - **时间序列动画**:在MapXtreme 2008中,可以创建基于时间的动画,比如展示城市人口增长、交通流量变化等动态过程。 - **事件驱动...
标签提及的“PDF”可能指的是MapXtreme中用于导出地图至PDF格式的功能,这在分享或打印地图时非常有用。 进一步探索,“ILabelFilterInterface”、“ILabelPriorityInterface”、“ILabelSourceFilter”等接口展示...
5. 打印和导出:将地图以高质图像或PDF格式输出,供打印或共享。 6. 性能优化:通过6.8.0版本的更新,可能包括了性能提升,使得地图操作更加流畅快速。 在开发过程中,MapXtreme 2008 SCP Merge Modules简化了集成...
根据提供的文件信息,本文将详细解析如何在Java环境下利用MapXtreme库获取鼠标在地图上移动时的坐标。此知识点对于开发具有交互式地图功能的应用程序尤其有用,例如地理信息系统(GIS)软件、在线地图服务等。 ### ...
5. **地图打印与发布插件**: - **MapInfo Publish**:简化地图的打印和互联网发布流程,用户可以创建交互式在线地图,分享给他人。 - **PDF Export**:高质量地将地图导出为PDF格式,便于分发和打印。 6. **定制...
8. **地图导出与打印**:了解如何将地图布局设置为合适的尺寸和比例,导出为JPEG、PDF或其他图像格式,以便于报告或展示。同时,学习如何设置打印选项,确保地图清晰、准确地打印出来。 9. **MapInfo扩展功能**:...
地图布局和打印预览功能让你能设计专业级的地图报告。 在进行网络优化工作时,MapInfo的网络分析功能尤为重要。例如,它可以帮助计算最短路径、服务区域、覆盖范围等,这对于电信网络规划和维护非常有价值。 最后...
7. **打印与输出**:了解如何将地图导出为图像文件,或设置页面布局进行高质量的打印,以便报告或展示。 8. **地图投影**:理解地图投影的基本原理,学习如何选择合适的投影方式以减少地理失真,确保数据的准确性。...