[mapguide-users] RES: Modify the map definition and web layout flexible definition of a session
liglio.pessoal at nexxa.com.br
liglio.pessoal at nexxa.com.br
Wed Jun 3 12:51:10 PDT 2026
Hi Gordon,
This is part of a code. I have Session and MapName and I can’t read the map object of a session.
public class UtilMap : IDisposable
private string strSessionMap;
private string strMapDefinition;
private MgSiteConnection siteConnection;
private MgUserInformation userInfo;
private MgFeatureService featureService;
private MgResourceService resourceService;
private MgMap map;
private string mapName;
private string strTempLayerSufix;
/// <summary>
/// Constructor of class to manipulate the RunTime Mapguide Map
/// </summary>
/// <param name="pstrSessionMap">Map Session ID</param>
/// <param name="pstrMapDefinition">Map Library Definition</param>
public UtilMap(string pstrSessionMap, string pstrMapDefinition)
{
try
{
this.strSessionMap = pstrSessionMap;
this.strMapDefinition = pstrMapDefinition;
this.strTempLayerSufix = "-" + strSessionMap;
this.siteConnection = new MgSiteConnection();
this.userInfo = new MgUserInformation(this.strSessionMap);
try
{
this.siteConnection.Open(this.userInfo);
}
catch (Exception ex)
{
throw new Exception("Erro UtilMap SiteConnection Open: " + ex.Message);
}
this.featureService = (MgFeatureService)siteConnection.CreateService(MgServiceType.FeatureService);
this.resourceService = (MgResourceService)siteConnection.CreateService(MgServiceType.ResourceService);
this.mapName = this.strMapDefinition;
// if mapName is empty, I just want to work with session repository, no map session operations
if (!string.IsNullOrEmpty(this.mapName))
{
this.map = new MgMap(this.siteConnection);
try
{
this.map.Open(this.resourceService, this.mapName);
}
catch (Exception ex)
{
throw new Exception("Error UtilMap Map Open: " + ex.Message);
}
}
}
catch (Exception ex)
{
// Cleans internal references, if implemented correctly
if (this.siteConnection != null){this.siteConnection.Dispose(); this.siteConnection = null;}
if (this.userInfo != null){this.userInfo.Dispose(); this.userInfo = null;}
if (this.featureService != null){this.featureService.Dispose(); this.featureService = null;}
if (this.resourceService != null){this.resourceService.Dispose(); this.resourceService = null;}
if (this.map != null){this.map.Dispose(); this.map = null;}
throw new Exception("Error UtilMap criation: pstrSessionMap = " + pstrSessionMap + ", pstrMapDefinition = " + pstrMapDefinition + " :: Mensagem : "+ ex.Message);
}
}
public void SetFusionViewerInitialView(string webLayoutDefinition, double dblX, double dblY, double dblScale)
{
MgResourceIdentifier resourceID = null;
MgByteReader reader = null;
string strXml = string.Empty;
try
{
// IT DOES NOT WORK
resourceID = this.map.GetMapDefinition();
reader = this.resourceService.GetResourceContent(resourceID);
strXml = reader.ToString();
// I CAN NOT FIND THE MAP OBJECT
//resourceID = new MgResourceIdentifier("Session:" + this.strSessionMap + "//" + this.mapName + "." + MgResourceType.MapDefinition);
resourceID = new MgResourceIdentifier("Session:" + this.strSessionMap + "//" + this.mapName + this.strTempLayerSufix + "." + MgResourceType.MapDefinition);
reader = this.resourceService.GetResourceContent(resourceID);
strXml = reader.ToString();
}
catch (Exception ex)
{
throw new Exception(System.Reflection.MethodInfo.GetCurrentMethod().Name + "::" + ex.Message);
}
finally
{
if (resourceID != null) { resourceID.Dispose(); resourceID = null; }
if (reader != null) { reader.Dispose(); reader = null; }
}
}
}
Regards,
Liglio Cavalcante
De: Gordon Luckett <gordon.luckett at arrowgeomatics.com>
Enviada em: quarta-feira, 3 de junho de 2026 15:26
Para: MapGuide Users Mail List <mapguide-users at lists.osgeo.org>
Cc: liglio.pessoal at nexxa.com.br
Assunto: Re: [mapguide-users] Modify the map definition and web layout flexible definition of a session
If you have the Session and MapName you should be able to modify the map without needing the MgResourceIdenifier.
On Wed, Jun 3, 2026 at 2:06 PM Liglio Cavalcante via mapguide-users <mapguide-users at lists.osgeo.org <mailto:mapguide-users at lists.osgeo.org> > wrote:
Hi,
Is it possible to read and modify the map definition and web layout flexible definition of a session ?
I tried serveral combinations of map names for the resource ID, with no success.
Example:: resourceID = new MgResourceIdentifier("Session:" + sessionId + "//" + "Mapa GIS - Fusion" + "." + MgResourceType.MapDefinition);
Regards,
Liglio Cavalcante
_______________________________________________
mapguide-users mailing list
mapguide-users at lists.osgeo.org <mailto:mapguide-users at lists.osgeo.org>
https://lists.osgeo.org/mailman/listinfo/mapguide-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapguide-users/attachments/20260603/b84f6021/attachment.htm>
More information about the mapguide-users
mailing list