[mapguide-users] Adding layer to runtimemap

Gunter Becker gunter.becker at csogis.de
Thu Jul 30 05:07:12 EDT 2009


OK, initializing the RuntimeMapLayer works but after saving back the modified
map to the Session-Repository the MgServer service is terminated. I have to
restart the service and also the IIS.

When I debug my application I relize an error on the
RuntimeMapLayer.IDs-property:

     'runMapLayer.IDs' threw an exception of type 'System.Exception'
     Message: Cannot reload ID's because the layers parent is not set
     StackTrace: at
OSGeo.MapGuide.MaestroAPI.RuntimeClasses.RuntimeMapLayer.FindResourceIDs()
                      at
OSGeo.MapGuide.MaestroAPI.RuntimeClasses.RuntimeMapLayer.get_IDs()"	

So I've looked at the parent-property of the RuntimeMapLayer and it is set
to "null". Does this cause the problem? The parent-property is of type
MapDefinition and I'm wondering why I need a reference to the MapDefinition
at all?

What ist the best practice, when I want to add a new layer at runtime from
an exisiting MapDefinition in Library-Repository and which methode should I
use

Gunter



Gunter Becker wrote:
> 
> Great, it works for me.
> 
> Thank you Kenneth
> 
> 
> 
> 
> Kenneth Skovhede, GEOGRAF A/S wrote:
>> 
>> Indeed it is.
>> You need to change line 1545 of the file 
>> MaestroAPI/Generated/LayerDefinition-1.3.0.cs
>> http://trac.osgeo.org/mapguide/browser/trunk/Tools/Maestro/MaestroAPI/Generated/LayerDefinition-1.2.0.cs#L1545
>> 
>> Before:
>> public static readonly string SchemaName = "LayerDefinition-1.2.0.xsd";
>> After:
>> public static readonly string SchemaName = "LayerDefinition-1.3.0.xsd";
>> 
>> I will put that fix in trunk, but for now you can use it if you compile 
>> yourself.
>> 
>> This also means that you cannot save 1.3.0 layers from Maestro.
>> 
>> Regards, Kenneth Skovhede, GEOGRAF A/S
>> 
>> 
>> 
>> Gunter Becker skrev:
>>> Hi,
>>>
>>> I'm trying to add a layer to the runtimemap using the MaestroAPI:
>>>  
>>>    MapLayerType layer = layerArray[layerName];
>>>    RuntimeMapLayer runMapLayer = new RuntimeMapLayer(layer);
>>>    runMap.Layers.Add(runMapLayer);
>>>
>>> On creating the RuntimeMapLayer I get the following Error:
>>>
>>>    error in XML document (2,117)
>>>
>>> I suppose it's the same error like in this 
>>> http://n2.nabble.com/Can%27t-open-LayerDefinition-with-maestro-tt3276282.html#a3276282
>>> thread  and therefore I build the MaestroAPI.dll
>>> from trunk as mentioned there. But the error still remains.
>>>
>>> Any idea?
>>>
>>> Thanks, Gunter
>>>
>>>
>>>   
>> _______________________________________________
>> mapguide-users mailing list
>> mapguide-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>> 
>> 
> 
> 

-- 
View this message in context: http://n2.nabble.com/Adding-layer-to-runtimemap-tp3352200p3355139.html
Sent from the MapGuide Users mailing list archive at Nabble.com.


More information about the mapguide-users mailing list