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

时间: 2024-08-08 13:56:15

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

ASP.NET Ajax 客户端框架未能加载、&quot;Sys&quot;未定义

在Windows Server 2003 系统上部署asp.net项目出现以下问题: IIS为6.0 导致菜单控件的图片显示不出来: WebSite:程序中的图片显示正常. 但用到ASP.net 2.0 的 asp:TreeView 控件,控件显示不出图片 图片属性: 地址:http://localhost/WebSite/WebResource.axd?d=41VAQHZc9t11gcfcSh8IynBrLxqhiiUYVpPeaSf8-4s1&t=633965754543750000协议:超

Hadoop中WordCount代码-直接加载hadoop的配置文件

Hadoop中WordCount代码-直接加载hadoop的配置文件 在Myeclipse中,直接编写WordCount代码,代码中直接调用core-site.xml,hdfs-site.xml,mapred-site.xml配置文件 package com.apache.hadoop.function; import java.io.IOException; import java.util.Iterator; import java.util.StringTokenizer; import 

Qt中如何 编写插件 加载插件 卸载插件

Qt中如何 编写插件 加载插件 卸载插件是本文要介绍的内容.Qt提供了一个类QPluginLoader来加载静态库和动态库,在Qt中,Qt把动态库和静态库都看成是一个插件,使用QPluginLoader来加载和卸载这些库.由于在开发项目的过程中,要开发一套插件系统,就使用了Qt的这套类库. 一 编写插件 编写一个Qt的插件需要以下步骤 1.声明一个插件类, 2.定义一个类,实现这个插件类定义的接口,定义的这个类必须从QObject集成下来. 3.使用Q_INTERFACESQ_INTERFACE

Android中ViewPager+Fragment懒加载问题解决方案

转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53205878 本文出自[DylanAndroid的博客] Android中ViewPager+Fragment懒加载问题解决方案 在Android中我们经常会用到ViewPager+Fragment组合.然而,有一个很让人头疼的问题就是,我们去加载数据的时候 由于ViewPager的内部机制所限制,所以它会默认至少预加载一个.这让人很郁闷,所以,我就想到要封装一个Fragme

Android新浪微博客户端(七)——ListView中的图片异步加载、缓存

原文出自:方杰|http://fangjie.sinaapp.com/?p=193转载请注明出处 最终效果演示:http://fangjie.sinaapp.com/?page_id=54该项目代码已经放到github:https://github.com/JayFang1993/SinaWeibo 一.ListView的图片异步加载 我们都知道对每一个Weibo Item都有用户头像,而且每一条微博还可能带有图片.如果在加载列表的同时加载图片,这样有几个缺点,第一很费事,界面卡住,用户体验很不

其他信息: 具有固定名称“Npgsql”的 ADO.NET 提供程序未在计算机或应用程序配置文件中注册或无法加载。有关详细信息,请参阅内部异常

其他信息: 具有固定名称“Npgsql”的 ADO.NET 提供程序未在计算机或应用程序配置文件中注册或无法加载.有关详细信息,请参阅内部异常 解决方法 在 App.config 的 configuration 中加入下面的内容  其中 红底部分是你调用的Npgsql的版本号 <system.data> <DbProviderFactories> <remove invariant="Npgsql"/> <add name="Npgs

java类中各成分的加载顺序跟内存中的存放位置-----转载

1 参加一个笔试,有一个关于类的静态代码块.构造代码块.构造函数的执行顺序的问题.不太清楚,网上百度了一下.在这里记录一下. 2 3 一.什么时候会加载类? 4 使用到类中的内容时加载:有三种情况 5 1.创建对象:new StaticCode(); 6 2.使用类中的静态成员:StaticCode.num=9; StaticCode.show(); 7 3.在命令行中运行:java StaticCodeDemo 8 9 二.类所有内容加载顺序和内存中的存放位置: 10 利用语句进行分析. 11

WP8.1开发中ListView控件加载图列表的简单使用(1)

我也是刚接触WP编程没几个月,就是在这段时间一直闲着没事,然后又比较喜欢WP这款系统,就学习了WP这方面的开发言语,自学是很困难的,掌握这方面的资料不多,很初级,就是自己在网上找资料学习过程中,看到别人的分享让我学到了很多,所以我也想分享一下自己的经验,另一方面也希望和大家交流交流,并得到大家的指点. 好了,不多说了,现在开始进入正题吧: ListView这个控件用的很多,而且功能很强大,在我练习开发两个小软件的之前,我以为很简单没什么内容,谁知在开发过程中,才知道它的功能之多,现在就简单说其中

imagesLoaded – 检测网页中的图片是否加载

imagesLoaded 是一个用于来检测网页中的图片是否载入完成的 JavaScript 工具库.支持回调的获取图片加载的进度,还可以绑定自定义事件.可以结合 jQuery.RequireJS 使用. 插件下载     效果演示 使用示例: // element imagesLoaded( document.querySelector('#container'), function( instance ) { console.log('all images are loaded'); });