The viewer overwrites the runtime map on startup, so if you run this before starting the viewer, your changes will be lost. You should not create a new runtime map, but open the one the viewer creates for you, modify it, save it, and refresh the client.
I belive the correct sequence would be:
MgMap map = new MgMap(resourceSrvc);
map.Open(mapName):

The viewer takes a string like:
"Library://Folder/MapName.MapDefinition"
and uses the map name:
"Folder/MapName"

You must use the same name in your code, or you won't get to the runtime map.

If you want the layer to show when the map loads, have a look at this:
http://trac.osgeo.org/mapguide/wiki/maestro/MaestroAPI/samples/AddInitialLayer

You can perform the same actions without the MaestroAPI if you like, but you have to deal with the xml in raw form.

Regards, Kenneth Skovhede, GEOGRAF A/S



Galois skrev:
Whatever I try to do it's just not working.

Add a new layer?
The layer is added but never shown

Add a point? Nothing

Add a new group?
The Group is added but never shown

So, I simple tried to change the LegendLabel of an existing layer.
Nothing happened again...

If anyone can tell me what I am doing wrong I would appreciate it.

Code follows:


using System;
using System.Data;
using System.Configuration;
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 OSGeo.MapGuide;
using System.Xml;
using System.IO;
using System.Text;

public partial class _Default : System.Web.UI.Page
{
    public string sessionId;
    public string webLayout;
    public MgLayer tmpLayer;
    protected System.Web.UI.HtmlControls.HtmlGenericControl Frame1;

    protected void Page_Load(object sender, EventArgs e)
    {
        string physicalPath = @"C:\Program
Files\MapGuideOpenSource\WebServerExtensions\www\webconfig.ini";

        try
        {
            MapGuideApi.MgInitializeWebTier(physicalPath);


            passAndSession();


            //Associate a session ID with the MgSiteConnection Object
            MgUserInformation userInfo_new = new
MgUserInformation(sessionId);

            MgSiteConnection siteConnection = new MgSiteConnection();

            siteConnection.Open(userInfo_new);



            // Get an instance of the required service(s)
            MgResourceService resourceSrvc =
(MgResourceService)siteConnection.CreateService(MgServiceType.ResourceService);
            MgFeatureService featureSrvc =
(MgFeatureService)siteConnection.CreateService(MgServiceType.FeatureService);



            MgMap map = new MgMap(siteConnection);


            webLayout =
"Library://GoSpatial/Web+Layouts/Autostrada+Brescia+Padova+Map.WebLayout";

            MgResourceIdentifier resId = new
MgResourceIdentifier("Library://GoSpatial/Maps/Italy Map.MapDefinition");

            String mapName = resId.GetName();

            MgResourceIdentifier mapStateId = new
MgResourceIdentifier("Session:" + sessionId + "//" + mapName + "." +
MgResourceType.Map);



            createSaveOpen(map, resourceSrvc, resId, mapName, mapStateId);


            MgLayerBase firstLayer = map.GetLayers().GetItem(0);
            firstLayer.SetLegendLabel("CHANGE");
            map.Save(resourceSrvc, mapStateId);
        }
        catch (Exception ex)
        {
            throw (ex);
        }
    }


Thx in advanced!

PS I have never but never in my life try to do something and in 2 weeks not
shown even a small improvement...
_______________________________________________
mapguide-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapguide-users

Reply via email to