#65 closed enhancement (fixed)
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: | Browser: | All | |
External ID: | Operating System: | All | |
state: | Committed |
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:
Change History (4)
comment:1 by , 16 years ago
comment:2 by , 16 years ago
Resolution: | → fixed |
---|---|
state: | New → Committed |
Status: | new → closed |
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:
(In [1518]) re #65: applied to 1.1 branch, except that the param is called 'theme'