随笔分类 -  mapxtreme

摘要:private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 if(!Page.IsPostBack) { //载入MapControl string strRootPath=Server.MapPath("./ZH") + "\ZH.mws"; MapControl_PL.Map.Clear(); ... 阅读全文
posted @ 2012-09-03 21:01 雪藩 阅读(650) 评论(0) 推荐(0)
摘要:一、前言我用MapInfo公司的MapX开发过几个项目。在项目的开发过程中,也接触了一些使用相同技术的公司和开发人员,感觉到他们的开发过程常常被一些问题所困扰,却得不到很好的解决。在这里,我把我在开发过程中积累的一些经验写出来,希望能起到抛砖引玉的作用。二、开发经验1、如何在MapX下读取属性值,这里介绍三种方法:1)由Layer对象的KeyField属性来设立要读取属性值的字段名。接着,由Feature对象的keyValue读取此行的属性值。2)将图层加入到Datasets,由Dataset对象的Value(x,y)属性,通过设置行号,列号来获得属性值。3)将图层加入到Datasets之后由 阅读全文
posted @ 2012-09-02 15:08 雪藩 阅读(286) 评论(0) 推荐(0)
摘要:private void InfoToolControl1_InfoRetrieved(object sender, MapInfo.Web.UI.WebControls.InfoToolEventArgs e) { Label1.Text=""; copyright dedecms foreach(MapInfo.Data.IResultSetFeatureCollection iResultSetFeatureCollection in e.Features) { foreach(MapInfo.Data.Feature feature in ... 阅读全文
posted @ 2012-08-31 09:44 雪藩 阅读(153) 评论(0) 推荐(0)
摘要:申明变量CMapX m_ctrlMapX;CMapXLayer m_objLayer;//运动目标图层CMapXLayer m_traceLayer;//目标轨迹层CMapXLayer m_scaleBarLayer;//比例尺图层CMapXFeature m_objFt;double m_lfCenterLon;//地图中心经度double m_lfCenterLat;//地图中心纬度CMapXFeature m_objTrackFt[MAXNUMINEMAP];1 创建地图控件CRect rc;GetClientRect(&rc);m_ctrlMapX.Create(NULL,WS 阅读全文
posted @ 2012-08-31 09:33 雪藩 阅读(607) 评论(1) 推荐(0)
摘要:MapX历史轨迹回放[开发源代码]:Option ExplicitDim xDown As DoubleDim yDown As DoubleDim HisBeginFlag As BooleanDim Lyr As MapXLib.LayerDim LayerInfo As New MapXLib.LayerInfoDim Flds As New MapXLib.FieldsDim Icount As IntegerDim Angle() As DoubleDim RecordTime() As DateDim StopFlag As BooleanDim TempPnt As New Po 阅读全文
posted @ 2012-08-31 09:32 雪藩 阅读(412) 评论(0) 推荐(0)
摘要:VC+MapX鹰眼实现文章来源:www.csdn.net 文章作者:collision 2005-11-16 字体:[大中小]在网上我看到了很多用VC+MapX实现的鹰眼,可功能都不全,看了清华出的那本<<用MapX开发地理信息系统>>上面有一个用vb作的鹰眼,功能不是很强,不过简单的也够用了,我翻译了一下写成了VC版的鹰眼。希望对新手有所帮助。我的基本实现想法是,在同一个View窗口下家两个CMapX控件,一个称为主图,一个称为鹰眼图。CMapX m_ctrlMapX; ///主图CMapX m_eagleMapX; ///鹰眼图注意事项:在View里的OnCreat 阅读全文
posted @ 2012-08-31 09:30 雪藩 阅读(484) 评论(0) 推荐(0)
摘要:研究了一段时间的MapXtreme2005 v6.6, 实现了个简单的鹰眼,放出来与大家分享,转载请注明出处。设计思路为设置两个MapControl ,map1和map2,map1为主地图,map2为索引图,将map1.Bounds的矩形在map2上转换为System.Drawing.Rectangle,之后将这个Rectangle的左上坐标和width,height传到客户端,应用JS在客户端绘图。同理移动客户端索引图上的Rectangle,则将Rectangle的中心坐标传回转换后设置map1的中心坐标。一、打开VS2005新建一个网站,选择“MapXtreme 6.6 Web Appl. 阅读全文
posted @ 2012-08-30 21:55 雪藩 阅读(195) 评论(0) 推荐(0)
摘要:FeatureFactory.IntersectFeatures方法(FeatureFactory对象)目标 返回独立图元,代表多个图元的交集。语法 [Feature=]OBJECT.IntersectFeatures(feature1[feature2])注释 此方法让Feature或Features对象与另一个Feature或Features对象相交,返回结果是独立的图元。 不能对点或文本图元使用此方法。只支持下列图元类型的组合: · 可以让区域与其它区域相交。如果区域重叠,通过此方法返回的图元也是区域。 · 可以让区域与线相交。假设该区域至少覆盖线的一部分,返回的交集 阅读全文
posted @ 2012-08-30 21:53 雪藩 阅读(254) 评论(0) 推荐(0)
摘要://用于desktop部署privatevoidbtnInitializeObjects_Click(objectsender,System.EventArgse){CatalogCat=MapInfo.Engine.Session.Current.Catalog;//创建临时层TableInfoMemTabletblInfoTemp=newTableInfoMemTable("Animation");TabletblTemp=Cat.GetTable("Animation");if(tblTemp!=null)//Tableexistscloseit{ 阅读全文
posted @ 2012-08-30 21:33 雪藩 阅读(170) 评论(0) 推荐(0)
摘要:两个思路:1.客户断每次操作地图后发起两次请求:取主地图和鹰眼地图,鹰眼地图根据主地图窗口在临时图层生成一个方框2.页面初始化的时候从服务器获取一张小图(鹰眼图,可以是事先做好的,也可以通过MapJ生成),同时获得这张鹰眼图的minx,miny,maxx,maxy,zoom,每次操作地图后通过主地图的minx,miny,maxx,maxy,然后在页面上根据这几对坐标和zoom生成一个div叠加到鹰眼图上推荐第二种方式,减少服务器的压力!第一种方式我已经不怎么用了,代码也找不到,网上的一段:privatevoidresponsebound(MapJmymap,MapJboundmap,HttpS 阅读全文
posted @ 2012-08-30 21:26 雪藩 阅读(218) 评论(0) 推荐(0)
摘要:/// <summary> /// 更新鹰眼图 /// </summary> private void UpdateEyeMap() { try { //如果主图和鹰眼图加载的是同一实例,那么鹰眼图就需要检测是否有效 //if (eyeMap != null) { //加载鹰眼矩形临时表 Table tblRect; ... 阅读全文
posted @ 2012-08-30 21:23 雪藩 阅读(197) 评论(0) 推荐(0)
摘要:由于MapXtreme没有提供鹰眼控件,需要自己来写。实现鹰眼有两个步骤:1)在地图的视图改变的时候根据地图当前的边距生成一个矩形框,然后把这个矩形框绘制到鹰眼窗口上。2)根据用户在鹰眼窗口上点击的位置,同步显示地图窗口对应的位置。VB.NET代码如下: ' 更新鹰眼图 Private Sub UpdateEyeMap() Try Dim tblRect As Table tblRect = Session.Current.Catalog.GetTable("TempRect") If Not tblRect Is Nothing Then tblRect.Clos 阅读全文
posted @ 2012-08-30 21:19 雪藩 阅读(168) 评论(0) 推荐(0)
摘要:基于MapXtreme的鹰眼功能平台:Microsoft .Net Framework 1.1 (ASP.Net 1.1)GIS组件:MapInfo MapXTreme 2004语言:C#要实现鹰眼功能有两个主要问题:用户在鹰眼窗口上点击的时候地图自动定位到相应的位置;当地图视图(包括缩放比例和中心)发生变化的时候,鹰眼窗口上的导航矩形框相应变化以指示用户当前所处的位置。第一个问题可以通过客户端捕获用户在鹰眼窗口上点击的位置,发送到服务器,服务器端把该位置转换为地图坐标并更新地图的中心点来实现。为了便于保持地图或者页面上其它Web Control的状态,这个回发应该用HTTP POST来实现。 阅读全文
posted @ 2012-08-30 21:14 雪藩 阅读(193) 评论(0) 推荐(0)
摘要:我建立的是MapXTreme Windows Application:建立以后,将当前的地图设定为了墨西哥地图:mexico.GST然后,在窗体上添加了一个C#(不是MapXTreme中的),然后添加了按钮事件。效果是,点击这个按钮一个后,会在当前地图上绘制上一条直线。直线宽度为3,红色(改线宽、颜色以便突出显示)。主要代码如下:(三部分)1.Form1.Designer.cs里面,声明了两个公有变量,目的是在程序中更加灵活的创建表或者图元等C# codepartialclass Form1{private MapInfo.Windows.Controls.MapControl MCtrl; 阅读全文
posted @ 2012-08-30 18:41 雪藩 阅读(173) 评论(0) 推荐(0)