在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
MapXtreme在asp.net中的使用之加载地图(转)Posted on 收藏1.地图保存在本地的文件系统中,一定要有访问权限(否则无法打开),通过例子可以知道,使用web.config可以配置默认的工作空间. <add key="MapInfo.Engine.Session.Workspace" value="D:\Program Files\MapInfo\MapXtreme\6.8.0\Samples\HZ\hangzhou.mws" />
2.如果要加载地图,为了不与其它的地图要混淆,我决定采用mapAlias的方式,也就是使用别名。如果你有入门示例的话,我们来找到加载地图的点函数。找来找去,发现地图的过程在函数 private Map GetMapObj(string mapAlias)中,示例的代码处理逻辑目前不能满足我们的需要,因为在mapAlias不存的时候,直接返回了地图中的首个地图。 map = MapInfo.Engine.Session.Current.MapFactory[mapAlias];
3.为了加载地图,我查阅了网上的的文章,但不幸的是,方法都无效。从上面的代码可以得知,使用mapFactory类可以加载地图。因此方法如下: 创建workspaceloader对象,以方便从项目文件中加载地图的table MapLoader mws = MapWorkSpaceLoader.CreateFromFile(@"F:\Gis\yiwuditu\yiwuditu.mws");
利用MapFactory类的CreateEmptyMap方法,创建一个新的空地图,地图的别名就是我们想要设置的别名(注:别名是不能重复的) Map map = MapInfo.Engine.Session.Current.MapFactory.CreateEmptyMap("hangzhou",alias,new System.Drawing.Size(300,300));
接下来,利用map的load方法,载入地图就可以了. map.Load(mws); 4.这个功能是我们的系统中一定要完成的功能,因为涉及的地图比较多,所以必须采用动态加载 的方法,但无论是API文档,示例程序还是网上,都无法找到满意的结果,不过也难怪,这种操作其实用脑子想下就能明白的。 目前出现了两个地图相互干扰的情况,还没有解决,初步估计是Application变量的共用问题。明天试着解决下 1.地图保存在本地的文件系统中,一定要有访问权限(否则无法打开),通过例子可以知道,使用web.config可以配置默认的工作空间. <add key="MapInfo.Engine.Session.Workspace" value="D:\Program Files\MapInfo\MapXtreme\6.8.0\Samples\HZ\hangzhou.mws" />
2.如果要加载地图,为了不与其它的地图要混淆,我决定采用mapAlias的方式,也就是使用别名。如果你有入门示例的话,我们来找到加载地图的点函数。找来找去,发现地图的过程在函数 private Map GetMapObj(string mapAlias)中,示例的代码处理逻辑目前不能满足我们的需要,因为在mapAlias不存的时候,直接返回了地图中的首个地图。 map = MapInfo.Engine.Session.Current.MapFactory[mapAlias];
3.为了加载地图,我查阅了网上的的文章,但不幸的是,方法都无效。从上面的代码可以得知,使用mapFactory类可以加载地图。因此方法如下: 创建workspaceloader对象,以方便从项目文件中加载地图的table MapLoader mws = MapWorkSpaceLoader.CreateFromFile(@"F:\Gis\yiwuditu\yiwuditu.mws");
利用MapFactory类的CreateEmptyMap方法,创建一个新的空地图,地图的别名就是我们想要设置的别名(注:别名是不能重复的) Map map = MapInfo.Engine.Session.Current.MapFactory.CreateEmptyMap("hangzhou",alias,new System.Drawing.Size(300,300));
接下来,利用map的load方法,载入地图就可以了. map.Load(mws); 4.这个功能是我们的系统中一定要完成的功能,因为涉及的地图比较多,所以必须采用动态加载 的方法,但无论是API文档,示例程序还是网上,都无法找到满意的结果,不过也难怪,这种操作其实用脑子想下就能明白的。 目前出现了两个地图相互干扰的情况,还没有解决,初步估计是Application变量的共用问题。明天试着解决下 |
请发表评论