[mapguide-users] Runtime map problem

Maksim Sestic max at geoinova.com
Tue Dec 2 10:49:21 EST 2008


Try this:

System.Guid.NewGuid() 



-----Original Message-----
From: mapguide-users-bounces at lists.osgeo.org
[mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of padmini
godavarthi
Sent: Tuesday, December 02, 2008 15:35
To: mapguide-users at lists.osgeo.org
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 connection
> 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 WebLayout Dim 
> 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 as ResourceIdentifier = 
> 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 the user 
> 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 data
>> 2. LayerDefinition, references a FeatureSource 3. MapDefinition, 
>> references multiple LayerDefinitions 4. WebLayout, references a 
>> MapDefinition
>>
>> All these items must be in a repository (either Library or Session), 
>> otherwise they can't be referenced.
>>
>> When you write that you want to "create a WebLayout programatically", 
>> 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 layer visibility 
>> in the MapDefinition, nothing happens. In short, the Runtime Map is a 
>> 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 WebLayout
>>   
>> Dim 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 Dim tempid 
>> 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/S
>>   
>>
>> padmini 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 must be 
>>> like
>>>
>>>
>>> http://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 application through 
>>> asp.net (like given by u )
>>>      
>>> Response.Redirect("/mapguide/ajaxviewer/?WEBLAYOUT=...resourceId
>>> for
>>> your WebLayout...&USERNAME=Anonymous&PASSWORD=");
>>>
>>> 3) Can u plz tell me the purpose of runtime map (actualli iam in 
>>> configusing
>>> state)
>>>
>>>
>>>
>>>
>>>
>>> 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 or wrong?
>>>>
>>>> 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
>>>> mapguide-users at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>>
>>>>
>>>>     
>>>
>>>   
>> ---------------------------------------------------------------------
>> ---
>>
>> _______________________________________________
>> mapguide-users mailing list
>> mapguide-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>   
> 
> _______________________________________________
> mapguide-users mailing list
> mapguide-users at lists.osgeo.org
> 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
mapguide-users at lists.osgeo.org
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





More information about the mapguide-users mailing list