漳州那里有做网站,关于asp.net的网站模板,wordpress去除登录,平安企业邮箱登录入口本文部分说明内容摘自网络文章#xff0c;经过本人在MapXtreme2008中编写相关的演示例子#xff0c;详细说明如何操作MapXtreme2008提供的矢量符号和定制符号。 MapXtreme 在其安装过程中自动安装 10 种 MapInfo 特定的 TrueType 字体。这些字体为用户提供了字形符号选择经过本人在MapXtreme2008中编写相关的演示例子详细说明如何操作MapXtreme2008提供的矢量符号和定制符号。 MapXtreme 在其安装过程中自动安装 10 种 MapInfo 特定的 TrueType 字体。这些字体为用户提供了字形符号选择范围涉及天气、房地产、交通等。字形编号为 Unicode 字符值由于这些编号位于第一个 Unicode 字符代码块范围内因此与 ASCII 字符集兼容。 MapXtreme包含三种点样式BitmapPointStyle 位图点样式、FontPointStyle字体点样式和SimpleVectorPointStyle简单矢量点样式。 简单矢量点样式 此样式包含使用MapInfo 3.0 兼容专有字体用于绘制点的样式属性MapInfow.fnt。SimpleVectorPointStyle 属性包括了要为点绘制的实际符号的颜色、点大小和形状码。标准集包括符号31 至67。以下是符号与形状码的对应图31是空。在比较简单的场合使用此样式已经足够但是很多场合都不简单。结构
public SimpleVectorPointStyle( short code, Color color, double pointSize);code 上面图片中对应的形状码color 填充符号的颜色上面图片中为黑色pointSize 符号大小 字体点样式 使用FontPointStyle 类可以显示TrueType字体集允许的最大点大小为240 点。这给了我们很大的自由空间其中的MapInfo Symbols字体和上面的字体是相同的不过MapInfo Symbols是TrueType字符集。MapXtreme自带的字体 Map Symbols MapInfo Arrows MapInfo Cartographic MapInfo Miscellaneous MapInfo OilGas MapInfo Real Estate MapInfo Shields MapInfo Symbols MapInfo Transportation MapInfo Weather可以使用一些相关软件查看这些字体的具体内容比如 字体试衣间 、微软自带的 字符映射表 。
public FontPointStyle( short code, Font font, short angle, Color color, double pointSize);code 字体映射的编码font 字体的样式。很关键字体样式的强大全靠它了angle 字体旋转的角度color 字体填充的颜色pointSize 字体的大小12就差不多了位图点样式 定制的位图符号位于 C:\Program Files\Common Files\MapInfo\MapXtreme\6.x\CustSymb。每个图像的文件扩展名都是 .BMP。可以用编程方式通过 MapInfo.Styles 命名空间中的 BitmapPointStyleRepository 集合类访问这些符号。可以创建自己的位图图像并将其添加到 CustSymb 目录。尽管事实上对创建的图像没有大小限制不过 MapXtreme 显示图像的能力取决于可用的内存。图像不一定必须是方形而且还可以具有最多24 位颜色深度。要确保图像以其高度和宽度显示则必须在各自图像的 BitmapPointStyle 对象中将Boolean NativeSize 属性设置为 true。 位图点样式应该是最可能被用到的样式。它通过自定义的图片来标识地图上的图元。位图点样式具有ShowWhiteBackground 属性如果设置为false则位图中的白像素为透明。默认情况下ShowWhiteBackground 被设置为false。
public BitmapPointStyle( string strName, BitmapStyles style, Color color, double pointSize);strName 图片的相对路径加上名称。一般图片的根路径是 X:\Program Files\Common Files\MapInfo\MapXtreme\6.x\CustSymb X为安装盘。同时图片也放在那里。 style 图片的样式。
None: 按默认的状态显示。并且白色部分将透明。ShowWhiteBackground: 显示白色部分。ApplyColor: 在标识中的透明部分将用第三个参数的颜色填充.NativeSize: 按标识的真实大小和象素显示第四项参数将无效.
color 白色部分的填充色pointSize 标识大小下面分别介绍这几种图标如何在Web中添加展示,下面列出相关代码。
Code protected void Page_Load(object sender, System.EventArgs e) { if (StateManager.IsManualState()) { MapInfo.Mapping.Map myMap GetMapObj(); if (Session.IsNewSession) { MapInfo.WebControls.MapControlModel controlModel MapControlModel.SetDefaultModelInSession(); //instanciate AppStateManager class AppStateManager myStateManager new AppStateManager(); //put current map alias to state manager dictionary myStateManager.ParamsDictionary[StateManager.ActiveMapAliasKey] this.MapControl1.MapAlias; //put state manager to session StateManager.PutStateManagerInSession(myStateManager); #region 测试代码 if (myMap ! null) { if (myMap.Layers[TempLayerAlias] ! null) { myMap.Layers.Remove(TempLayerAlias); } } // Need to clean up dirty temp table left by other customer requests. MapInfo.Engine.Session.Current.Catalog.CloseTable(TempTableAlias); // Need to clear the DefautlSelection. MapInfo.Engine.Session.Current.Selections.DefaultSelection.Clear(); // Creat a temp table and AddPintPointCommand will add features into it. MapInfo.Data.TableInfoMemTable ti new MapInfo.Data.TableInfoMemTable(TempTableAlias); // Make the table mappable ti.Columns.Add(MapInfo.Data.ColumnFactory.CreateFeatureGeometryColumn(myMap.GetDisplayCoordSys())); ti.Columns.Add(MapInfo.Data.ColumnFactory.CreateStyleColumn()); MapInfo.Data.Table table MapInfo.Engine.Session.Current.Catalog.CreateTable(ti); // Create a new FeatureLayer based on the temp table, so we can see the temp table on the map. myMap.Layers.Insert(0, new FeatureLayer(table, templayer, TempLayerAlias)); IMapLayer lyr myMap.Layers[TempLayerAlias]; if (lyr null) return; FeatureLayer fLyr lyr as FeatureLayer; MapInfo.Geometry.DPoint point new DPoint(100, 20); MapInfo.Geometry.Point geoPoint new MapInfo.Geometry.Point(myMap.GetDisplayCoordSys(), point); // 创建内置MapInfo符号图标 SimpleVectorPointStyle vStyle new SimpleVectorPointStyle(); vStyle.Code 67; vStyle.Color Color.Red; vStyle.PointSize Convert.ToInt16(48); vStyle.Attributes StyleAttributes.PointAttributes.BaseAll; vStyle.SetApplyAll(); // Create a Feature which contains a Point geometry and insert it into temp table. Feature feature new Feature(geoPoint, vStyle); MapInfo.Data.Key key fLyr.Table.InsertFeature(feature); //创建自定义位图样式 //位图相对于位置C:\Program Files\Common Files\MapInfo\MapXtreme\6.8.0\CustSymb string fileName AMBU1-32.BMP; BitmapPointStyle bStyle new BitmapPointStyle(fileName); bStyle.PointSize Convert.ToInt16(24); bStyle.NativeSize true; bStyle.Attributes StyleAttributes.PointAttributes.BaseAll; bStyle.SetApplyAll(); point new DPoint(140, 55); geoPoint new MapInfo.Geometry.Point(myMap.GetDisplayCoordSys(), point); feature new Feature(geoPoint, bStyle); key fLyr.Table.InsertFeature(feature); //添加字体图样式 //FontPointStyle fStyle new FontPointStyle(); //fStyle.Color Color.Red; //fStyle.Font.Name NewCom Vehicle; //fStyle.PointSize Convert.ToInt16(24); //fStyle.Attributes StyleAttributes.PointAttributes.BaseAll; //fStyle.SetApplyAll(); FontPointStyle fStyle new FontPointStyle(); fStyle.Code 66; fStyle.PointSize 48; fStyle.Color System.Drawing.Color.Red; fStyle.Font.Name Uniwill; fStyle.Font.FontWeight MapInfo.Styles.FontWeight.Bold; fStyle.Angle 900; point new DPoint(180, 85); geoPoint new MapInfo.Geometry.Point(myMap.GetDisplayCoordSys(), point); feature new Feature(geoPoint, fStyle); key fLyr.Table.InsertFeature(feature); #endregion } // Now Restore State StateManager.GetStateManagerFromSession().RestoreState(); } }其他部分的相关代码如下
Code // At the time of unloading the page, save the state protected void Page_UnLoad(object sender, System.EventArgs e) { if (StateManager.IsManualState()) { StateManager.GetStateManagerFromSession().SaveState(); } } private MapInfo.Mapping.Map GetMapObj() { MapInfo.Mapping.Map myMap MapInfo.Engine.Session.Current.MapFactory[MapControl1.MapAlias]; if (myMap null) { myMap MapInfo.Engine.Session.Current.MapFactory[0]; } return myMap; }以上得到的界面效果如下图所示分别有3个对应的图标与之对应。
更多专业前端知识请上
【猿2048】www.mk2048.com