MapXtreme在asp.net中的使用之加载地图(转)
MapXtreme在asp.net中的使用之加载地图(转)
Posted on 2010-05-04 19:44 Happy Coding 阅读(669) 评论(0) 编辑 收藏
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变量的共用问题。明天试着解决下
MapXtreme在asp.net中的使用之加载地图(转)的更多相关文章
- ASP.NET中AJAX的异步加载(Demo演示)
此次的Demo是一个页面,页面上有两行字,然后后面用AJAX,使用一个下拉框去替换第一行文字 第一个是被替换的网页 <!DOCTYPE html> <html> <hea ...
- ASP.NET Ajax 客户端框架未能加载、"Sys"未定义
在Windows Server 2003 系统上部署asp.net项目出现以下问题: IIS为6.0 导致菜单控件的图片显示不出来: WebSite:程序中的图片显示正常. 但用到ASP.net 2. ...
- EF如何操作内存中的数据以及加载相关联表的数据:延迟加载、贪婪加载、显示加载
之前的EF Code First系列讲了那么多如何配置实体和数据库表的关系,显然配置只是辅助,使用EF操作数据库才是每天开发中都需要用的,这个系列讲讲如何使用EF操作数据库.老版本的EF主要是通过Ob ...
- imagesLoaded – 检测网页中的图片是否加载
imagesLoaded 是一个用于来检测网页中的图片是否载入完成的 JavaScript 工具库.支持回调的获取图片加载的进度,还可以绑定自定义事件.可以结合 jQuery.RequireJS 使用 ...
- 在Unity3D的网络游戏中实现资源动态加载
用Unity3D制作基于web的网络游戏,不可避免的会用到一个技术-资源动态加载.比如想加载一个大场景的资源,不应该在游戏的开始让用户长时间等待全部资源的加载完毕.应该优先加载用户附近的场景资源,在游 ...
- 动态加载JS过程中如何判断JS加载完成
在正常的加载过程中,js文件的加载是同步的,也就是说在js加载的过程中,浏览器会阻塞接下来的内容的解析.这时候,动态加载便显得尤为重要了,由于它是异步加载,因此,它可以在后台自动下载,并不会妨碍其它内 ...
- Qt中如何 编写插件 加载插件 卸载插件
Qt中如何 编写插件 加载插件 卸载插件是本文要介绍的内容.Qt提供了一个类QPluginLoader来加载静态库和动态库,在Qt中,Qt把动态库和静态库都看成是一个插件,使用QPluginLoade ...
- WP8.1开发中ListView控件加载图列表的简单使用(1)
我也是刚接触WP编程没几个月,就是在这段时间一直闲着没事,然后又比较喜欢WP这款系统,就学习了WP这方面的开发言语,自学是很困难的,掌握这方面的资料不多,很初级,就是自己在网上找资料学习过程中,看到别 ...
- 019 关联映射文件中集合标签中的lazy(懒加载)属性
<set>.<list>集合上,可以取值:true/false/extra,(默认值为:true) 实例一:(集合上的lazy=true(默认))class默认lazy=tru ...
随机推荐
- Volley报错!!!No address associated with hostname
年轻人检查你的网络去吧,这是没有网络导致的原因
- oracle行号排序问题
1.创建一个student,并且插入数据 ),age int) '); '); '); '); '); commit; 2.直接按照age进行排序显示行号: select * from(select ...
- ms sql 根据表名查询 表中所有字段的属性值 sql语句
SELECT表名=case when a.colorder=1 then d.name else '' end,--表说明=case when a.colorder=1 then isnull(f.v ...
- Unix is 命令
输入正整数n以及n个文件名,排序后按列优先的方式左对齐输出.假设最长文件名有M字符,则最右列有M字符,其他列都是M+2字符. 附加条件每行最多输出60个字符,在此条件下要求行最少. Sample in ...
- windows 下查看端口占用命令
cmd netstat -ano
- oracle中anyData数据类型的使用实例
---创建waterfallcreate or replace type waterfall is object(name varchar2(30),height number); --创建river ...
- node.js 环境搭建
一 官网下载安装包 : 1.http://www.nodejs.org/download/ 选择相应的包进行安装 2.安装express : npm install -g express -gener ...
- dreamweaver批量去除空格,空行
制作网店的时候,发现有空行,或者空格.如果数量比较少,可以手动清除.如果多的话,可以使用dreamweaver批量去除.方法如下: 第一步,用正则表达式删除所有空白行(其实这一步不一定要做,我只是为了 ...
- Android自学学习资料
最近在自学Android编程,在网上看了一些博客和视频教程,觉得比较好的分享一下,继续学习,gangbade~ 国外android官网总是出现连不上的情况,如果你不想FQ的话,这里github上可以直 ...
- wordpress教程之WP_Query()类
WP_Query的使用方法 在讲WP_Query之前我们要先区分一下两个名词: WP_Query是WordPress自带的的一个用于处理复杂请求的类(这里的请求的内容不仅包括文章,还可能是页面,用户, ...