No, I have no sample code. The only avalible code I know of, is listed on these two pages: http://trac.osgeo.org/mapguide/wiki/CodeSamples http://trac.osgeo.org/mapguide/wiki/maestro/MaestroAPI
Regards, Kenneth Skovhede, GEOGRAF A/S padmini godavarthi skrev:
Hi, Thanks again. Can u tell me the sample application for Runtime map ( sample code) so that i can learn it and i will convert it for oracle conversion Thanks and Regards, Padmini. Kenneth Skovhede, GEOGRAF A/S wrote:In that case, you will do something different. You need to setup the layer to display all points correctly. Use Studio or Maestro to accomplish this. When the user needs to view the layer, you do this: 1. Get a copy of the LayerDefinition2. Modify the "FILTER" property of the LayerDefinition to display only the required data, eg: "ID > 500 AND ID < 510".3. Save the copy in the session repository under a random name. 4. Get the runtime map, and either 5a. Replace the resourceId of an existing layer with the one from step 3, or5b. Insert a new layer into the runtime map, pointing to the temporary layerdefinition from step 36. Make sure the layer from step 5 is visible 7. Save the modified runtime map 8. Refresh the client.If your map already contains the layer to be show, choose 5a, otherwise choose 5b.Regards, Kenneth Skovhede, GEOGRAF A/S padmini godavarthi skrev:Hi, Thank u very much for u r reply. I will check it out . My Doubt is that 1) If i create a package in mapguide maestro , connecing to the oracle how can access the data using queries. suppose i create a feature resource for a table data in oracle after that i followed all the procedure and created a package successfully. If user wants to query this table and wants to display only some of the features on the map dynamically .How can i provide this? If u know this plz help me Regards, Padmini. Kenneth Skovhede, GEOGRAF A/S wrote:There is not much I can say to help you there.It is very difficult to create LayerDefinitions and WebLayouts programatically.The problem with creating a LayerDefinition is the number of properties you have to set. Such properties include, scalerange, point styles, rules, fonts, linewidth, colors, etc.The WebLayout has all the buttons and menu items. I would recommend you reconsider alternatives. To create a new LayerDefinition, simply do: Dim layerdefinition as new MaestroAPI.LayerDefinition() You can use the same approach for any of the other items. Then you can save it as you like, using con.SaveResourceAs(...). There is no help anywhere, that explains what properties to set.You can look in the Maestro code, or examine the Sheboygan LayerDefinitions to see what happens.A simple shortcut, would be to create a "template" from Maestro, and then use that template when you start out. You can then modify the template,and save it as a resource. To produce a "template", simply create a new LayerDefinition in Maestro, and then click the "Edit Xml". Copy-n-paste the Xml to a file (say C:\template.xml).To load a template as an object, you can use (C# code, can never remember generics in VB):MaestroAPI.LayerDefinition layerdefinition; using(System.IO.FileStream fs = System.IO.File.OpenRead("C:\\template.xml")) layerdefintion = con.DeserializeObject<MaestroAPI.LayerDefinition>(fs);You can then modify the geometry column, featuresource pointer, columns, filter, tooltip and other items, until it fits the newly uploaded SHP file. As I said, it will be dificult, and there is no help avalible for the task. Your primary tool is the error log:C:\program files\mapguideopensource2.0\server\logs\error.log Good luck. Regards, Kenneth Skovhede, GEOGRAF A/S padmini godavarthi skrev:Hi, Thanks .its working fine now. To build a map, you must have all the components: 1. FeatureSource, references data 2. LayerDefinition, references a FeatureSource 3. MapDefinition, references multiple LayerDefinitions 4. WebLayout, references a MapDefinitionAll these items must be in a repository (either Library or Session)I know the procedure to create it in mapguide maestro. 1) Now my problem was i want to create ALL the above items programmetically (my input is only a shape file) byusing maestro dll. If u know this plz help me Regards, Padmini. Kenneth Skovhede, GEOGRAF A/S wrote:I wrote a follow up, with corrected code.You are using the initial one, and you are missing a "?" mark in the redirect URL.Try to use the updated version, and beware of the question mark in the Response.Redirect call.Regards, Kenneth Skovhede, GEOGRAF A/S padmini godavarthi skrev:Hi, Thanks for u r reply. I tried this code but i got an error that Server Error in '/maestro' Application. --------------------------------------------------------------------------------HTTP Error 400 - Bad Request.--------------------------------------------------------------------------------Version Information: ASP.NET Development Server 8.0.0.0my code wasDim host As New Uri("http://localhost/mapguide/mapagent/mapagent.fcgi") Dim conn As New HttpServerConnection(host, "Administrator", "admin", "en", True) 'You have to change the string below to point at a valid WebLayout Dim weblayout As WebLayout = conn.GetWebLayout("Library://Filebased data/Layout/layout.WebLayout") Dim mapdefinition As MapDefinition = conn.GetMapDefinition(weblayout.Map.ResourceId) weblayout.Map.InitialView = New MapViewType() weblayout.Map.InitialView.Scale = 2000 'Zoom to 1:2000 weblayout.Map.InitialView.CenterX = (mapdefinition.Extents.MaxX - mapdefinition.Extents.MinX) + mapdefinition.Extents.MinX weblayout.Map.InitialView.CenterY = (mapdefinition.Extents.MaxY - mapdefinition.Extents.MinX) + mapdefinition.Extents.MinY Dim tempid As ResourceIdentifier = New ResourceIdentifier("layout", OSGeo.MapGuide.MaestroAPI.ResourceTypes.WebLayout, conn.SessionID) Response.Redirect("/mapguide/ajaxviewer/WEBLAYOUT=" & Server.UrlEncode(tempid) joscsu wrote:Or this: System.Guid.NewGuid().ToString() ----- Ursprungligt meddelande ---- Från: Maksim Sestic <[EMAIL PROTECTED]> Till: MapGuide Users Mail List <[email protected]> Skickat: tisdag 2 december 2008 16:49:21 Ämne: RE: [mapguide-users] Runtime map problem Try this:System.Guid.NewGuid()-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of padmini godavarthi Sent: Tuesday, December 02, 2008 15:35 To: [email protected] Subject: Re: [mapguide-users] Runtime map problem Hi, Thanku very much for ur help i tried this code but i got an error in the line Dim tempid as ResourceIdentifier = new ResourceIdentifier(Guid.NewGuid(), OSGeo.MapGuide.MaestroAPI.ResourceTypes.WebLayout, con.SessionID) because of this Guid.NewGuid() 1) Actually what is this? 2) Which paramater we have to pass in this place instead of Guid.NewGuid() Regards, Padmini Kenneth Skovhede, GEOGRAF A/S wrote:I forgot to save the weblayout in the code below :( Updated version is: 'Setup connectionDim host As New Uri("http://localhost/mapguide/mapagent/mapagent.fcgi")Dim conn As New HttpServerConnection(host, "Administrator","admin", "en", True)'You have to change the string below to point at a valid WebLayoutDim weblayout as WebLayout =con.GetWebLayout("Library://mylayout.WebLayout") Dim mapdefinition as MapDefinition = con.GetMapDefinition(weblayout.Map.ResourceId) 'Modify the initial view of the weblayout weblayout.Map.InitialView= new MapViewType() weblayout.Map.InitialView.Scale = 2000 'Zoom to 1:2000 weblayout.Map.InitialView.CenterX = (mapdefinition.Extents.MaxX - mapdefinition.Extents.MinX) + mapdefinition.Extents.MinX weblayout.Map.InitialView.CenterY = (mapdefinition.Extents.MaxY -mapdefinition.Extents.MinX) + mapdefinition.Extents.MinY 'Obtain a unique session based id for the temporary weblayout(which is a copy of an existing WebLayout) Dim tempid asResourceIdentifier= new ResourceIdentifier(Guid.NewGuid(),OSGeo.MapGuide.MaestroAPI.ResourceTypes.WebLayout, con.SessionID)'Save the layout, otherwise you can't reference it con.SaveResourceAs(weblayout, tempid)'Open the viewer, and use the temporary layout, since the map only exists in the 'current session, we must use that session, and NOT supply username/password'BEWARE: The session belongs to the Administrator account, so theuser gets full access to MapGuide (delete, modify, etc.) Response.Redirect("/mapguide/ajaxviewer/?WEBLAYOUT=" & Server.UrlEncode(tempid) & "&SESSION=" & Server.UrlEncode(con.SessionID))Regards, Kenneth Skovhede, GEOGRAF A/S Kenneth Skovhede, GEOGRAF A/S skrev:To build a map, you must have all the components: 1. FeatureSource, references data2. LayerDefinition, references a FeatureSource 3. MapDefinition, references multiple LayerDefinitions 4. WebLayout, references a MapDefinitionAll these items must be in a repository (either Library orSession), otherwise they can't be referenced.When you write that you want to "create a WebLayoutprogramatically", do you want to create ALL the above items, or do you have layers and featuresources?(1) If you want to generate a WebLayout ResourceID, you should use: Dim res As New ResourceIdentifier("Filebased data/Maps/mapdata", ResourceTypes.WebLayout)If you want to read the name of an existing MapDefinition from another layout, you must do:Dim weblayout as WebLayout = con.GetWebLayout("Library://mylayout.WebLayout") Dim res as String = webLayout.Map.ResourceId (2) I don't understand the question.(3) The MapDefinition is an Xml document. Inside, it references layers, which references featuresources, as described above. It is very slow to do this, so when you open a map in the browser, the xml is transformed into a binary object. This object contains all the info from the MapDefinition and some info from the layers and featuresources.You need to know this, because if you try to toggle layervisibility in the MapDefinition, nothing happens. In short, the Runtime Mapisa binary object that you can manipulate using the MapGuide (and Maestro)-API, and it only works for a displayed map. Upon startup, the Runtime Map is identical to the MapDefinition it was created from.A short example of using an existing WebLayout:Dim host As New Uri("http://localhost/mapguide/mapagent/mapagent.fcgi")Dim conn As New HttpServerConnection(host, "Administrator","admin", "en", True)'You have to change the string below to point at a valid WebLayoutDim weblayout as WebLayout =con.GetWebLayout("Library://mylayout.WebLayout") Dim mapdefinition as MapDefinition = con.GetMapDefinition(weblayout.Map.ResourceId)weblayout.Map.InitialView = new MapViewType() weblayout.Map.InitialView.Scale = 2000 'Zoom to 1:2000 weblayout.Map.InitialView.CenterX = (mapdefinition.Extents.MaxX - mapdefinition.Extents.MinX) + mapdefinition.Extents.MinX weblayout.Map.InitialView.CenterY = (mapdefinition.Extents.MaxY -mapdefinition.Extents.MinX) + mapdefinition.Extents.MinY Dimtempid as ResourceIdentifier = new ResourceIdentifier(Guid.NewGuid(), OSGeo.MapGuide.MaestroAPI.ResourceTypes.WebLayout, con.SessionID) Response.Redirect("/mapguide/ajaxviewer/?WEBLAYOUT=" &Server.UrlEncode(tempid) & "&USERNAME=Anonymous&PASSWORD=") Regards, Kenneth Skovhede, GEOGRAF A/Spadmini godavarthi skrev:Hi, Thanks for u r reply actually i wrote the code as Dim host As New Uri("http://localhost/mapguide/mapagent/mapagent.fcgi") Dim conn As New HttpServerConnection(host,"Administrator", "admin", "en", True) Dim res As New ResourceIdentifier("Filebased data/Maps/mapdata",ResourceTypes.MapDefinition) Dim mapId As String = res.ResourceId with that i got the map resource id. But actually to run the application the url in the browser mustbe likehttp://localhost/mapguide/mapviewerajax/?WEBLAYOUT=Library%3a%2f%2fF ilebased+data%2fLayout%2flayout.WebLayout 1) How can i get this weblayout (like Library%3a%2f%2fFilebased+data%2fLayout%2flayout.WebLayout) programmetically 2) I want to redirect to the ajax viewer sample applicationthrough asp.net (like given by u ) Response.Redirect("/mapguide/ajaxviewer/?WEBLAYOUT=...resourceIdfor your WebLayout...&USERNAME=Anonymous&PASSWORD=");3) Can u plz tell me the purpose of runtime map (actualli iam in configusingstate) Kenneth Skovhede, GEOGRAF A/S wrote:Instead of re-posting the original question, could you try to explain what parts of my previous reply that are unclear orwrong? http://www.nabble.com/How-to-Load-Runtime-map-in-mapviewerajax-to20 704038.html#a20769349 Regards, Kenneth Skovhede, GEOGRAF A/S padmini godavarthi skrev:Hi , iam using mapguide open source 2.0( with .Net 2.0 + IIS 5.1)Iam using dotnet viewer sample while running the application i observed that the layout path given in the application.as String webLayout = "Library://Samples/Sheboygan/Layouts/SheboyganAspTiled.WebLayout"; it works but now i want to create this weblayout in run time (by code) using mapguide maestro api for this purpose i followed the link http://trac.osgeo.org/mapguide/wiki/maestro/MaestroAPI/samples/Run timeMap but i didnt get any out. can u plz tell me 1) how to create this weblayout in run time 2) How it will works If u know this plz tell me the procedure. Regards, Padmini._______________________________________________ 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://www.nabble.com/Runtime-map-problem-tp20789983p20793385.html 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 __________ Information from ESET NOD32 Antivirus, version of virus signature database 3658 (20081202) __________ The message was checked by ESET NOD32 Antivirus. http://www.eset.com _______________________________________________ mapguide-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapguide-users __________________________________________________________ Låna pengar utan säkerhet. Jämför vilkor online hos Kelkoo. http://www.kelkoo.se/c-100390123-lan-utan-sakerhet.html?partnerId=96915014 _______________________________________________ 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_______________________________________________ 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
