接触MAPX没多久,又接着碰到了问题。这次的问题比较头疼。
现象如下:现有2个图层,一个图层画的是点,第二个图层画的是线。代码先创建点图层,然后再线图层。
不久出现问题了,当你调试状态下运行时,线能够画出来,当你exe状态下,10次里面有7次不出来,3次出来。麻烦的问题,我刚看到这个问题,脑袋就胀了,谁知道怎么回事。网上找了半天,没看到别人遇到类似问题。
只好自己找原因。
经过不断分析,把问题集中在了画线的一个过程里。但一看这个过程,也没啥大的出入。出现问题时,线图层的.id文件没写内容。首先怀疑以前碰到过清空目录和压缩时冲突的问题。经过排除,不是这个问题引起。
于是怀疑是不是画的时候数据流有问题,于是加闲置循环及sleep线程, 大约经过4个小时的不断试验,最后把问题集中在了图层创建完的那个点。发现图层创建出现了延时,可能有时突然创建了快点,于是就画出来了,有时没创建完,就慢了点。于是sleep了一秒,问题就这么解决了。
感叹经验重要亚,要是一个熟手估计这种问题1分钟就搞定了,我花了4个小时多呀,悲哀。。。。
分享到:
相关推荐
MapX地图图层管理 在本节中,我们将探讨MapX地图图层管理的知识点,包括GeoSetManager的应用、MapX编程的实现、地图图层的管理等。 GeoSetManager是一个空间数据组织工具,能够将空间数据按照图层进行组织。通过...
3. **创建图层**:在MapX中,图层是地图数据的容器。你可以通过调用`MapX::AddLayer()`方法创建新的图层。每个图层都有自己的属性,如可见性、颜色、透明度等,可以根据需要进行设置。 4. **关联数据和图层**:将...
该示例通过具体的VB代码展示了如何利用MapX控件创建一个新的图层,并为该图层添加属性数据。此过程对于理解和实践基于MapX的地理信息系统开发具有重要的参考价值。 #### 二、关键概念解析 在深入分析代码之前,我们...
这个“vc+mapx例子.rar_MAPX VC_VC+Mapx_mapx_vc++中mapx_图层”压缩包显然包含了使用MapX在Visual C++(VC++)环境下开发GIS应用的示例代码。以下将详细解释MapX控件的使用,以及如何在VC++中管理和操作图层。 1. ...
1. **理解MapX API**:研究MapX提供的函数和对象,了解如何加载地图数据、创建图层、以及如何添加动画效果。 2. **VB事件处理**:查看`frmMain.frm`中的事件处理代码,如按钮点击事件,理解如何响应用户的交互。 3. ...
VB+MapX使用下拉图层代码 James.Liu VB+MapX使用下拉图层代码 描述: 使用下拉图层实现逐渐细化的功能,典型应用为:首先看到的是一幅中国行政区,点击你感兴趣的省四川省,得到详细的...
- **参数设置**:在创建图层时,通过`AddParameter`方法向图层对象传递必要的参数(如文件路径、图层名称等),这对于确保图层的正确创建至关重要。 - **异常处理**:虽然示例代码中没有明确展示异常处理逻辑,但在...
在MapX中,可以通过创建Feature对象来表示这些图元,并将它们添加到图层中。Feature对象包含了位置信息(经纬度坐标)以及形状类型(点、线或多边形),并且可以附加属性数据,这些属性数据通常来源于数据库。 实现...
1. **安装与配置**:首先,你需要了解如何正确安装MapX控件,并将其添加到你的开发环境中,如Visual Basic或Delphi。这通常涉及到注册控件、设置项目引用等步骤。 2. **基本概念**:理解MapX中的基本术语,如地图...
1. 将MapX的头文件(MapX.h)和实现文件(MapX.cpp)加入到VC++项目中,通常是通过Project菜单下的Add To Project-File选项,选择MapX相关文件后加入到项目工程中,从而创建MapX控件。 2. 加载地图是MapX实现地图...
接下来,我们将使用MapX创建一个新的图层,并将数据点添加到该图层。首先,创建一个`Map`对象,然后创建一个`Layer`对象: ```csharp using MapX; Map map = new Map(); map.CreateNewMap(800, 600); // 设置地图...
1. **地图显示**:MapX允许开发者加载多种地图数据格式,如Shapefile、Tiff、JPG等,创建地图视图。通过C#代码,我们可以设置地图的中心点、比例尺、显示范围,以及调整地图的视觉效果,如颜色、透明度等。 2. **...
MapX是一款由Bentley Systems公司...总的来说,MapX是一个功能强大的地图开发工具,通过阅读《MapX5.0中文开发指南》并实践其中的示例,开发者可以快速掌握其使用技巧,从而在自己的项目中创建出功能丰富的地图应用。
MapX提供了多种方式来访问和处理地图图层中的属性数据。以下是根据标题和描述中提到的方法详细解释: 1. **通过Layer对象的KeyField属性和Feature对象的keyValue属性**: 在MapX中,Layer对象代表地图上的一个图层...
这通常通过在项目中引入MapX的类型库(.tlb文件)来完成,然后就可以在代码中创建MapX对象,设置地图的基本属性,如地图的显示范围、比例尺、图层等。例如,你可以创建一个新的MapX实例,并加载一个地图文件: ```...
标题中的"mapx1"可能是指一个特定的项目或者库,而"mapx.h"和"mapx.cpp"是这个项目或库中的源代码文件。在这个场景中,我们可以深入探讨C++编程中的头文件(header files)和源代码文件(source code files),以及...
通过以上步骤和代码示例,可以在Delphi环境中高效地使用MapX进行地图操作,包括创建图层、使用自定义位图、坐标转换及城市搜索等功能。这些技巧不仅有助于提升应用程序的功能性,也能提高用户体验。
3. 层次管理:MapX允许用户创建多个图层,每个图层可以包含不同的地图元素,如道路、建筑物、水体等,方便管理和控制地图的显示内容。 4. 图形绘制:用户可以通过MapX在地图上绘制点、线、多边形等几何图形,用于...
开发者可以通过这些资源学习MapX5的用法,解决开发过程中遇到的问题。 总的来说,MapX5是一个功能强大的地图开发工具,通过学习和实践MapX5,开发者可以创建出专业、高效的GIS应用,满足各种业务场景的需求。在实际...
1. 初始化地图:MapX的核心是创建地图对象,通过`CreateObject("Mapx.Map")`函数来初始化地图控件。这一步骤是所有地图操作的基础。 2. 加载地图数据:MapX可以加载多种格式的地图文件,如.shape、.dxf等。使用`...