[mapguide-users] Nothing is working or what I'm doing wrong?
Kenneth Skovhede, GEOGRAF A/S
ks at geograf.dk
Mon Oct 20 09:53:51 EDT 2008
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...
>
More information about the mapguide-users
mailing list