Hi Ivan, below, you can see my code to create the new map: Dim resID As New MgResourceIdentifier(Library://.../maps/MyMap.MapDefinition) Dim enc As New System.Text.UTF8Encoding(False) Dim newMapDef As New MgByteSource(enc.GetBytes(XMLMapTemplate.OuterXml), enc.GetByteCount(XMLMapTemplate.OuterXml)) newMapDef.SetMimeType(MgMimeType.Xml) Dim resourceSrvc As MgResourceService = siteConn.CreateService(MgServiceType.ResourceService) resourceSrvc.SetResource(resID, newMapDef.GetReader(), Nothing) Dim map As New MgMap() map.Create(resourceSrvc, resID, MapName)
... Then, this is my code to create the map layout: Dim resID As New MgResourceIdentifier(Library://.../Layouts/MyMap.WebLayout) Dim enc As New System.Text.UTF8Encoding(False) Dim newLayoutDef As New MgByteSource(enc.GetBytes(XMLLayoutTemplate.OuterXml), enc.GetByteCount(XMLLayoutTemplate.OuterXml)) newLayoutDef.SetMimeType(MgMimeType.Xml) resourceSrvc As MgResourceService = siteConn.CreateService(MgServiceType.ResourceService) resourceSrvc.SetResource(resID, newLayoutDef.GetReader(), Nothing) map.Save(resourceSrvc) Perhaps between map and layout creation I should refresh the mapframe as suggested from you? Thanks in advance for your help. Fabio ------------------------------------------------------------------------------------------------------ Ivan Milicevic wrote: > > Can you provide us code sample? > > -----Original Message----- > From: mapguide-users-boun...@lists.osgeo.org > [mailto:mapguide-users-boun...@lists.osgeo.org] On Behalf Of sekko970 > Sent: Wednesday, February 18, 2009 10:38 AM > To: mapguide-users@lists.osgeo.org > Subject: RE: [mapguide-users] Create programmatically a map > > > Hi Ivan, > > thanks for your suggestion, but my problem is not to refresh the viewer > to > show the map just created, but is the correct creation of new map and > layout. > > I think to have found the origin of my problem, but I don't understand > the > error: > > Argument is null. Exception occurred in method > MgWebLayout.ParsePrintCommand > at line 880 in file > c:\build_bond_area\bond_nightly\build_41.3\ent\os\web\src\webapp\WebLayo > ut.cpp > > Have you some idea? > Thanks, Fabio > > ------------------------------------------------------------------------ > ------------------------------ > > > Ivan Milicevic wrote: >> >> Hello, >> >> You can change href of mapFrame. Here is sample code. >> >> var mapa = "cijevi"; //defines map name >> var stringMape = "Library%3a%2f%2fPROJEKTI%2fSUPRANET%2fMAPE%2f" + > mapa; >> var hrefMapa = >> > "http://172.21.10.3/mapguide/mapviewernet/mapframe.aspx?MAPDEFINITION=" >> + stringMape + >> > ".MapDefinition&TYPE=HTML&SHOWLEGEND=0&SHOWPROP=0&INFOWI >> > DTH=0&LOCALE=en&HLTGT=1&HLTGTNAME=&SHOWSLIDER=0&SESS >> ION=" + mgSessionId + "; >> >> //changing mapFrame href >> mapFrame.location.href = hrefMapa; >> >> >> Hope this helps. >> >> -----Original Message----- >> From: mapguide-users-boun...@lists.osgeo.org >> [mailto:mapguide-users-boun...@lists.osgeo.org] On Behalf Of sekko970 >> Sent: Wednesday, February 18, 2009 9:57 AM >> To: mapguide-users@lists.osgeo.org >> Subject: Re: [mapguide-users] Create programmatically a map >> >> >> Hi Kenneth, >> I need again your help about my problem. >> >> I think the problem is that after new map run-time creation in library >> repository, I cannot use its map definition to create its web layout. >> >> How can I assign the new map to the layout? >> >> Thanks again, Fabio >> >> > ------------------------------------------------------------------------ >> ------------------------------ >> >> >> Kenneth Skovhede, GEOGRAF A/S wrote: >>> >>> Try to look at the Maestro code: >>> >> > http://trac.osgeo.org/mapguide/browser/trunk/Tools/Maestro/MaestroAPI/Lo >> calNativeConnection.cs#L182 >>> >>> Hopefully you will find a small difference there. >>> >>> Regards, Kenneth Skovhede, GEOGRAF A/S >>> >>> >>> >>> sekko970 skrev: >>>> Yes, the "OuterXml" property contains the XML header line. >>>> Fabio >>>> >>>> >> > ------------------------------------------------------------------------ >> ------------------------------ >>>> >>>> >>>> Kenneth Skovhede, GEOGRAF A/S wrote: >>>> >>>>> Does the "OuterXml" property contain the <? version="1.0" >>>>> encoding="utf-8" standalone="true" ?> line? >>>>> >>>>> Regards, Kenneth Skovhede, GEOGRAF A/S >>>>> >>>>> >>>>> >>>>> sekko970 skrev: >>>>> >>>>>> Hi Kenneth, and thanks for your promptly reply. >>>>>> >>>>>> I had used an ancoding instance. >>>>>> >>>>>> Below, you can see my code to create the new map: >>>>>> >>>>>> Dim resID As New >>>>>> MgResourceIdentifier(Library://.../maps/MyMap.MapDefinition) >>>>>> >>>>>> Dim enc As New System.Text.UTF8Encoding(False) >>>>>> >>>>>> Dim newMapDef As New >>>>>> MgByteSource(enc.GetBytes(XMLMapTemplate.OuterXml), >>>>>> enc.GetByteCount(XMLMapTemplate.OuterXml)) >>>>>> >>>>>> newMapDef.SetMimeType(MgMimeType.Xml) >>>>>> >>>>>> Dim resourceSrvc As MgResourceService = >>>>>> siteConn.CreateService(MgServiceType.ResourceService) >>>>>> >>>>>> resourceSrvc.SetResource(resID, newMapDef.GetReader(), Nothing) >>>>>> >>>>>> Dim map As New MgMap() >>>>>> >>>>>> map.Create(resourceSrvc, resID, MapName) >>>>>> >>>>>> ... >>>>>> >>>>>> Then, this is my code to create the map layout: >>>>>> >>>>>> Dim resID As New >>>>>> MgResourceIdentifier(Library://.../Layouts/MyMap.WebLayout) >>>>>> >>>>>> Dim enc As New System.Text.UTF8Encoding(False) >>>>>> >>>>>> Dim newLayoutDef As New >>>>>> MgByteSource(enc.GetBytes(XMLLayoutTemplate.OuterXml), >>>>>> enc.GetByteCount(XMLLayoutTemplate.OuterXml)) >>>>>> >>>>>> newLayoutDef.SetMimeType(MgMimeType.Xml) >>>>>> >>>>>> resourceSrvc As MgResourceService = >>>>>> siteConn.CreateService(MgServiceType.ResourceService) >>>>>> >>>>>> resourceSrvc.SetResource(resID, newLayoutDef.GetReader(), Nothing) >>>>>> >>>>>> map.Save(resourceSrvc) >>>>>> >>>>>> >>>>>> Thanks for your help. >>>>>> Fabio >>>>>> >>>>>> >> > ------------------------------------------------------------------------ >> ------------------------------ >>>>>> >>>>>> >>>>>> Kenneth Skovhede, GEOGRAF A/S wrote: >>>>>> >>>>>> >>>>>>> You could have the problem that .Net emits an utf-8 >> byte-order-marker >>>>>>> (BOM), when >>>>>>> writing xml. >>>>>>> http://en.wikipedia.org/wiki/Byte-order_mark >>>>>>> >>>>>>> To counter this, explicitly create an encoding instance: >>>>>>> System.Text.Encoding enc = new System.Text.UTF8Encoding(false); >>>>>>> >>>>>>> Then implement a xml writer, or manually convert the xml to > bytes, >>>>>>> using >>>>>>> the encoding. >>>>>>> >>>>>>> FYI, the MaestroAPI is LGPL, and so you may use it as a library, >> even >>>>>>> for commercial applications, >>>>>>> and it handles this quirk and others. >>>>>>> >>>>>>> Regards, Kenneth Skovhede, GEOGRAF A/S >>>>>>> >>>>>>> >>>>>>> >>>>>>> sekko970 skrev: >>>>>>> >>>>>>> >>>>>>>> Dear all, >>>>>>>> >>>>>>>> I have created programmatically a map (and its layout) using MG >> .Net >>>>>>>> web >>>>>>>> API. >>>>>>>> After creation, the new map and layout are visible in MG > Maestro, >> and >>>>>>>> using >>>>>>>> the 'Show in browser" button are correctly shown in browser. >>>>>>>> >>>>>>>> The problem happens when I load the map directly from browser, >> and >>>>>>>> the >>>>>>>> following error appears: >>>>>>>> << The type 'OSGeo.MapGuide.MgNullArgumentException' in assembly >>>>>>>> 'MapGuideDotNetApi, Version= 2.0.2.30 11, Culture=neutral, >>>>>>>> PublicKeyToken=null' is not marked as serializable >>. >>>>>>>> >>>>>>>> Then, simply saving the new layout from MG Maestro (without any >>>>>>>> modification), and reloading the map directly from browser, the >> error >>>>>>>> disappears and the map is correctly shown. >>>>>>>> >>>>>>>> After saving the layout, there aren't differences in map and >> layout >>>>>>>> XML >>>>>>>> definitions. >>>>>>>> >>>>>>>> Have you any idea about? >>>>>>>> Thank you in advance. >>>>>>>> Fabio >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> mapguide-users mailing list >>>>>>> mapguide-users@lists.osgeo.org >>>>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>> _______________________________________________ >>>>> mapguide-users mailing list >>>>> mapguide-users@lists.osgeo.org >>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>>>> >>>>> >>>>> >>>> >>>> >>> >>> _______________________________________________ >>> mapguide-users mailing list >>> mapguide-users@lists.osgeo.org >>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>> >>> >> >> -- >> View this message in context: >> > http://n2.nabble.com/Create-programmatically-a-map-tp2314238p2345737.htm >> l >> Sent from the MapGuide Users mailing list archive at Nabble.com. >> >> _______________________________________________ >> mapguide-users mailing list >> mapguide-users@lists.osgeo.org >> http://lists.osgeo.org/mailman/listinfo/mapguide-users >> _______________________________________________ >> mapguide-users mailing list >> mapguide-users@lists.osgeo.org >> http://lists.osgeo.org/mailman/listinfo/mapguide-users >> >> > > -- > View this message in context: > http://n2.nabble.com/Create-programmatically-a-map-tp2314238p2345874.htm > l > Sent from the MapGuide Users mailing list archive at Nabble.com. > > _______________________________________________ > mapguide-users mailing list > mapguide-users@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/mapguide-users > _______________________________________________ > mapguide-users mailing list > mapguide-users@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/mapguide-users > > -- View this message in context: http://n2.nabble.com/Create-programmatically-a-map-tp2314238p2346122.html Sent from the MapGuide Users mailing list archive at Nabble.com. _______________________________________________ mapguide-users mailing list mapguide-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapguide-users