开发环境:vs2005 + MapXtreme2005
写下一点经验,供参考:
页面的代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td>
<img src="<%=m_strImg%>" alt="" style="width: 900px; height: 800px" id="MapControl1_Image" />
</td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
后台代码:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MapInfo.WebControls;
using System.IO;
using ApplicationStateManager;
public partial class Default2 : System.Web.UI.Page
{
protected string m_strImg = "";
protected void returnImage()
{
MapControlModel model = MapControlModel.GetModelFromSession();
if (model == null) model = MapControlModel.SetDefaultModelInSession();
MemoryStream ms = null;
try
{
ms = model.GetMap("Map1", 900, 800, "Gif");
}
catch (Exception ex)
{
HttpContext.Current.Server.ClearError();
return;
}
// Insert the image stream to Cache with key imageid and timeout in 2 mintues.
string imageid = ImageHelper.GetUniqueID();
ImageHelper.SetImageToCache(imageid, ms, 2);
m_strImg = ImageHelper.GetImageURL(imageid, "Gif");
}

private void Page_Load(object sender, System.EventArgs e)
{
// If the StateManager doesn't exist in the session put it else get it.
if (StateManager.GetStateManagerFromSession() == null)
StateManager.PutStateManagerInSession(new AppStateManager());

// Now Restore State
StateManager.GetStateManagerFromSession().ParamsDictionary[StateManager.ActiveMapAliasKey] = "Map1";
StateManager.GetStateManagerFromSession().RestoreState();
returnImage();
}

// At the time of unloading the page, save the state
private void Page_UnLoad(object sender, System.EventArgs e)
{
StateManager.GetStateManagerFromSession().SaveState();
}
}
配置文件:
<add key="MapInfo.Engine.Session.Workspace" value="C:/Program Files/MapInfo/MapXtreme/6.6/Samples/Data/World.mws" />
按照上述步骤就完成了地图的显示。
写下一点经验,供参考:
页面的代码:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

























后台代码:


























































<add key="MapInfo.Engine.Session.Workspace" value="C:/Program Files/MapInfo/MapXtreme/6.6/Samples/Data/World.mws" />
按照上述步骤就完成了地图的显示。