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: [email protected] [mailto:[email protected]] On Behalf Of sekko970 Sent: Wednesday, February 18, 2009 9:57 AM To: [email protected] 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 >>>>> [email protected] >>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>> _______________________________________________ >>> mapguide-users mailing list >>> [email protected] >>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>> >>> >>> >> >> > > _______________________________________________ > mapguide-users mailing list > [email protected] > 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 [email protected] http://lists.osgeo.org/mailman/listinfo/mapguide-users _______________________________________________ mapguide-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapguide-users
