在用户控件中使用 MapControl 的正确方法 mapxtreme载入地图
来源:互联网 发布:switch在c语言 编辑:程序博客网 时间:2024/05/21 09:57
private void Page_Load(object sender, System.EventArgs e)
...{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
...{
//载入MapControl
string strRootPath=Server.MapPath("./ZH") + "/ZH.mws";
MapControl_PL.Map.Clear();
MapInfo.Mapping.MapWorkSpaceLoader wl = new
MapInfo.Mapping.MapWorkSpaceLoader(strRootPath);
wl.Load(MapControl_PL.Map);
Load_ALL();
}
}
...{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
...{
//载入MapControl
string strRootPath=Server.MapPath("./ZH") + "/ZH.mws";
MapControl_PL.Map.Clear();
MapInfo.Mapping.MapWorkSpaceLoader wl = new
MapInfo.Mapping.MapWorkSpaceLoader(strRootPath);
wl.Load(MapControl_PL.Map);
Load_ALL();
}
}
MapControl 在运行时的生命周期如下所示:
1. 在构造函数中,在创建所有默认工具的同时创建工具集合
2. 在 OnInit 中执行下列任务:
a. 尝试使用 Map 对象指向的 MapAlias 从 Session 中获取 Map 对象。如果该对象
不存在,则创建一个空地图。使用 Map 对象还可创建用于导出的 MapExport
对象。
b. 如果是第一次访问此页面并且 UseDesigntimeWorkspace 标记为 True,则将工作
空间加载到地图中。
3. 在 OnLoad 中,显示客户端上需要的所有信息,例如 javascript 和工具信息。
4. 在 RenderContents 中,渲染保存 MapControl 的标记和表示图像的 IMG 标记。工具
使用的其它信息用于客户端操作。LayerControl 以 javascript 变量的形式渲染。
在 Web 窗体的 Page_Load 方法运行时,可以从默认方法偏离并使用自己的 Map 对象。但
是,创建地图的别名必须与 MapControl 的 MapAlias 匹配。在将另一个工作空间加载到地
图时,请注意该地图的别名更改为工作空间中的别名
private void Page_Load(object sender, System.EventArgs e)
...{
// 在此处放置用户代码以初始化页面
this.ListBox_Result.Attributes.Add("ondblclick"," ShowItem(0);");
this.ListBoxComLineCopy.Attributes.Add("ondblclick"," ShowItem(1);");
this.ListBoxPeoLineCopy.Attributes.Add("ondblclick"," ShowItem(3);");
this.ListBox_PreResult.Attributes.Add("ondblclick","ShowItem(2)");
if(!Page.IsPostBack)
...{
//载入MapControl
string strRootPath=Server.MapPath("./ZH") + "/ZH.mws";
MapControl_PL.Map.Clear();
MapInfo.Engine.Session.Current.MapFactory.Remove(MapControl_PL.MapAlias);
MapInfo.Engine.Session.Current.MapFactory.CreateEmptyMap(MapControl_PL.MapAlias, MapControl_PL.MapAlias,new Size(200,200));
MapInfo.Mapping.MapWorkSpaceLoader wl = new MapInfo.Mapping.MapWorkSpaceLoader(strRootPath);
MapInfo.Mapping.Map map=MapInfo.Engine.Session.Current.MapFactory[MapControl_PL.MapAlias];
if(map!=null)
...{
wl.Load(MapControl_PL.Map);
wl.Load(map);
MapControl_PL.Map=map;
Load_ALL();
}
}
}
...{
// 在此处放置用户代码以初始化页面
this.ListBox_Result.Attributes.Add("ondblclick"," ShowItem(0);");
this.ListBoxComLineCopy.Attributes.Add("ondblclick"," ShowItem(1);");
this.ListBoxPeoLineCopy.Attributes.Add("ondblclick"," ShowItem(3);");
this.ListBox_PreResult.Attributes.Add("ondblclick","ShowItem(2)");
if(!Page.IsPostBack)
...{
//载入MapControl
string strRootPath=Server.MapPath("./ZH") + "/ZH.mws";
MapControl_PL.Map.Clear();
MapInfo.Engine.Session.Current.MapFactory.Remove(MapControl_PL.MapAlias);
MapInfo.Engine.Session.Current.MapFactory.CreateEmptyMap(MapControl_PL.MapAlias, MapControl_PL.MapAlias,new Size(200,200));
MapInfo.Mapping.MapWorkSpaceLoader wl = new MapInfo.Mapping.MapWorkSpaceLoader(strRootPath);
MapInfo.Mapping.Map map=MapInfo.Engine.Session.Current.MapFactory[MapControl_PL.MapAlias];
if(map!=null)
...{
wl.Load(MapControl_PL.Map);
wl.Load(map);
MapControl_PL.Map=map;
Load_ALL();
}
}
}
官方的代码 VB的:
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack) {
// Remove the map from session; we want to use ours
MapInfo.Engine.Session.Current.MapFactory.Remove
(MapControl1.MapAlias);
// Create a empty map with same alias as MapControl
MapInfo.Engine.Session.Current.MapFactory.CreateEmptyMap
(MapControl1.MapAlias, MapControl1.MapAlias,
new Size(200,200));
// Load the map with table.
MapInfo.Mapping.MapLoader ml =
MapInfo.Mapping.MapLoader.CreateFromFile(@"World.tab");
// Get the map object out of session we just created
MapInfo.Mapping.Map map =
MapInfo.Engine.Session.Current.MapFactory
[MapControl1.MapAlias];
if (map != null) {
ml.Load(map);
MapControl1.Map = map;
}
}
}
{
if (!Page.IsPostBack) {
// Remove the map from session; we want to use ours
MapInfo.Engine.Session.Current.MapFactory.Remove
(MapControl1.MapAlias);
// Create a empty map with same alias as MapControl
MapInfo.Engine.Session.Current.MapFactory.CreateEmptyMap
(MapControl1.MapAlias, MapControl1.MapAlias,
new Size(200,200));
// Load the map with table.
MapInfo.Mapping.MapLoader ml =
MapInfo.Mapping.MapLoader.CreateFromFile(@"World.tab");
// Get the map object out of session we just created
MapInfo.Mapping.Map map =
MapInfo.Engine.Session.Current.MapFactory
[MapControl1.MapAlias];
if (map != null) {
ml.Load(map);
MapControl1.Map = map;
}
}
}
- 在用户控件中使用 MapControl 的正确方法 mapxtreme载入地图
- 在用户控件中使用 MapControl 的正确方法 mapxtreme载入地图
- MapXtreme2004代码 MapControl控件中显示地图文件
- MapXtreme2005 不用mapcontrol 控件实现地图的显示
- 学习使用百度地图的正确方法
- C#.net 地图控件开发(十一) 地图控件MapControl
- 在网页中使用.ascx用户控件的两种方法
- 在用户控件中调用父窗体的某个方法
- MapControl控件
- C#中mapxtreme使用的一些总结
- 在mapControl控件上添加feature要素
- mapxtreme的地图绘制概念
- Flex 4.6 中使用ActionScript 中载入模块的方法
- 在Ogre中载入OgreMax场景文件的方法
- 在Ogre中载入OgreMax场景文件的方法[转]
- 在Ogre中载入OgreMax场景文件的方法[转]
- 在.net应用程序中使用用户控件
- 在.net应用程序中使用用户控件
- Java语法总结 - 线程
- 今年最明亮的月光就在今晚,不要忘记晒哦
- 写数字转换为一般中文大写或中文大写金额
- php 实现 从unicode到gb2312的转换
- 拖动table边框,改变table形状,纯javascript代码
- 在用户控件中使用 MapControl 的正确方法 mapxtreme载入地图
- 带超链接的循环滚动静态控件
- uml 和 java 的协同
- 整合区域医疗资源,共享社区病源,实现三级就诊
- linux下使用远程桌面
- HR实现虚线效果
- 暴笑语录
- HashTabel与HashMap的区别
- LDD3中helloworld的问题(已解决)