• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

MapXtreme在asp.net中的使用之加载地图(转)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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];
if (map == null)
{
map = MapInfo.Engine.Session.Current.MapFactory[0];

}

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];
if (map == null)
{
map = MapInfo.Engine.Session.Current.MapFactory[0];

}

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变量的共用问题。明天试着解决下


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap