Ticket #65 (closed enhancement: fixed)

Opened 6 years ago

Last modified 6 years ago

mgmapresourceid URL override patch

Reported by: amorsell Owned by: madair
Priority: P3 Milestone: 1.1
Component: MapGuide Version: 1.0.6
Severity: Trivial Keywords:
Cc: External ID:
state: Committed Browser: All
Operating System: All

Description

This patch is to add functionality to pass a mapguide map resource ID via a URL parameter to Fusion and have it open that map in a given Fusion applicationDefinition.

Edit the Fusion.Lib.ApplicationDefinition.Map class in applicationDefinition.js from (around line 534):

this.resourceId = this.extension.ResourceId? ? this.extension.ResourceId?[0] : ; if ( !Fusion.Maps[this.type] ) {

to:

this.resourceId = this.extension.ResourceId? ? this.extension.ResourceId?[0] : ;

var paramMgMapResourceId = Fusion.getQueryParam('mgmapresourceid');
if (paramMgMapResourceId.length>0) {
     this.resourceId = paramMgMapResourceId;
}

if ( !Fusion.Maps[this.type] ) {

Once this patch is in place, if you pass a map resource ID at the URL, Fusion will pick that up and use it instead of the one in the appDef file. In my case, I actually removed the contents of my ResourceId? tag in the MapSet? definition. This can be tested by making a copy of the Sheboygan map and calling it Sheboygan_2 (make some changes to it so you can tell the difference between it and the regular Sheboygan map). Then, enter the following URL address into your browser:

 http://YOURSERVER:8008/mapguide/fusion/templates/mapguide/slate/index.html?mgmapresourceid=Library://Samples/Sheboygan/Maps/Sheboygan_2.MapDefinition

Change History

Changed 6 years ago by madair

(In [1518]) re #65: applied to 1.1 branch, except that the param is called 'theme'

Changed 6 years ago by pagameba

  • status changed from new to closed
  • state changed from New to Committed
  • resolution set to fixed

I was about to suggest the same approach as Mike, which is to pick up the resource id from the URL in the MapGuide initialization using the Fusion.getQueryParam() function.

As Mike indicated, this is now supported but you would construct the url as follows:

 http://yourserver:8008/mapguide/fusion/templates/mapguide/slate/index.html?theme=Library://Samples/Sheboygan/Maps/Sheboygan_2.MapDefinition

Changed 6 years ago by jbirch

Has this been applied to trunk? I can't find it...

Changed 6 years ago by madair

(In [1539]) re #65: patch applied to trunk

Note: See TracTickets for help on using tickets.