内容发布更新时间 : 2024/11/16 18:46:53星期一 下面是文章的全部内容请认真阅读。
二次开发常见问题
1、启动IMS服务后日志里面空间分析服务报错或空间分析无法使用
原因一:IMS服务管理器中数据库配置问题
空间分析要用到两个临时数据库,一个是SpatialAnalyIMS,要存储到商用
数据库中;一个是IMSWEBGISGDB.HDF,存储到平台下的。 (1)确定数据库SpatialAnalyIMS已经附加到SQL数据库中;
IMSWEBGISGDB.HDF附加到平台下;
(2)如果是SQL2005的数据库,在IMS服务管理器中数据库配置中不要设置IP,设置数据库所在机器的计算机名称(这个是SQL2005数据库的问题)。 原因二:IMS服务管理器中矢量数据服务配置中没有勾选“启动空间分析服务”,
勾选后要单击“保存”按钮,重启服务。
2、配置网络数据源SQL、ORACLE失败 原因:学习版不支持网络数据源
解释:要理解MapGIS的数据存储,分为两种,一种是本地数据源,一种是网络数据源。本地数据源是以本地HDF文件方式存储 网络数据源指的就是将空间
数据存储在商用数据库里面。一般用本地数据源就行了。
3、发布示例站点后,打开站点提示“无法远程连接服务器” 原因一:矢量示例数据没有附加到平台中。没有附加请附加数据。
原因二:IMS的GIS服务未启动,或不能正常启动。要检查IMS服务发布数据后
是否单击“保存”按钮,保存配置并启动服务。
4、发布示例站点后,打开站点出现白图
原因:如果使用的是IE8,是浏览器兼容问题,更改IE8为兼容模式或者使用火
狐等非IE内核的浏览器。
5、发布示例站点后,打开站点提示open地图失败
解决方法:重新注册下\\MapGIS K9\\Program下的regxcom.bat、
CheckWebFunction.dll
6、使用平台一段时间后,打开平台发现无法使用,任何MapGIS的exe都无法打
开
原因:可能是Beta版包学习版注册问题
1、打开注册表,将HKEY_CURRENT_USER\\Software\\MapGis\\LCCSYSTEM下的
NO_PROMPT键值改为“0”;
2、打开平台,会弹出一个注册的对话框,里面有注册码,(注意此时不要关闭该
对话框);
3、根据该注册码到http: www.mapgis.com.cn的学习版注册模块注册,得要一个
证书码;
4、在之前弹出的对话框中入延长证书码后,再修改NO_PROMPT的键值为“1”,
继续使用学习版证书。
7、Flex开发中——出现拖动控件后出错无法编译的情况
原因:可能是开源二次开发库附加错了,也就是把SDK下的文件拷贝到Flex工程的src下(注意是SDK目录下所有的文件,不要把SDK目录拷贝过去)。
1、发生错误:创建对象失败。
解决方法:开始--所有程序--MapGIS7.3二次开发大赛版软件--工具箱--注册组件。 2、在VS中添加MapGIS控件,调试运行时弹出对话框“托管调试助手LoaderLock ... 导致应用程序挂起。” 解决方法:(1)点击停止调试,然后点击“开始执行(不调试)”。
(2)在\菜单下----\Debugging Assistants\中勾掉\。
3、添加MapGIS控件后,VS中无法显示界面,错误提示“加载设计器时遇到一个或多个错误。这些错误在下面列出。一些错误可通过重新生成项目来修复,而另一些错误则需要更改代码”。
解决方法:取消所有添加进VS的控件,然后重新加载:工具箱——选择项——com组件。并在VS的解决方案资源管理器——你的项目名称——引用下,添加所用到的MapGIS控件dll。若添加该组件后仍显示黄色感叹号,则该组件未注册,需在开始——运行中输入:regsvr32 “未注册的组件路径.dll”,注册成功后关闭VS项目,重新打开运行。
4、在VS2005中调试程序查看变量值时显示的不是十进制数值,怎么设置?
解决方法:类似这种情况,右击,把16进制显示去掉就可以了。
5、在vs2005环境的web编程中,我从HTML的源码视图返回的设计视图之下,为什么不显示控件,该怎么解觉? 解决方法:在“我的电脑”中搜索 \,发现Dreamweaver,office,qq,flash 8.0,adobe photshop cs2这些软件都调用了gdiplus.dll,挑一个最
新版本的(就是把鼠标放在搜索结果的项上,会显示版本号、创建日期,选一个版本号、创建日期最新的),copy到
C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727和C:\\Program
Files\\Microsoft Visual Studio 8\\Common7\\Packages两个目录下,好了之后,操作如下:
“开始”-“程序”-“Microsoft Visual Studio 2005”-“Visual Studio Tools”-“Visual Studio 2005 命令提示”,输入devenv /ResetSkipPkgs,)。
6、VS中显示,类似于——无法加载引用“AxGISSYMBOLVIEWLib”的类型库。库没有注册。
解决方法:首先点开始——所有程序——MapGIS 7.3 二次开发大赛版——工具箱——注册组件,重新运行VS,若项目资源管理器中,引用下的类库仍然显示黄色感叹号,则打开安装目录如:“D:\\MapGIS7.3\\Program”,找到“GISSYMBOLVIEW.dll”(在Program文件夹中对应时去掉Ax,dll名类似与库名),并在开始——运行,中输入:regsvr32然后将该dll拖入运行对话框,此时自动显示regsvr32 “D:\\MapGIS7.3\\Program \\GISSYMBOLVIEW.dll”,确定后再检查引用下的类库,黄色叹号不存在则正常。
7、使用什么控件进行图属联动?RecordGird怎么不可以?
解决方法:加载GisGridCtrl而不是RecordGird,使用GisGridCtrl的selchanged事件即可,操作方法为: 联动分两步: 第一步:根据鼠标在视图上点击查询得到oid,然后在gisgridctrl中调用SetXClsRcd,gisgridctrl会自动跳转到相应的记录上。 void axMapXView1_OnLButtonDown(object sender, AxMapXView._IXViewEvents_OnLButtonDownEvent e) {
coordinate(e.x, e.y);//坐标转换,参照问题8,将窗口坐标转换为地图坐标 mc_basObj7Lib.mcRect m_Rect = new mc_basObj7Lib.mcRect();//创建矩形区域进行选择,也可创建多边形区域
mc_basXcls7Lib.mcSelectSet m_SelectSet = null;//创建选择集,用于保存选择到的所有元素
mc_basXcls7Lib.mcFeatureCls m_Fcls = null;//创建要素类 m_Fcls = (mc_basXcls7Lib.mcFeatureCls)axMxWorkSpace1.ActiveMap.ActiveLayer.XClass;
m_Rect.xmax = ;//这里仅作为示例,你可以使用框选的办法或者点击时以鼠标按下的点建立一个小矩形进行单一要素选择
m_Rect.xmin =; m_Rect.ymax= ; m_Rect.ymin=;
m_Fcls.RectSelect(m_Rect, out m_SelectSet, null, 0, 0, 0, 0);//要素类选择得到选择集
m_SelectSet.fset.MoveFirst();//移动到选择集第一个元素 for (int i = 0; i < m_SelectSet.fset.GetObjCount() - 1; i++)